2013-07-30 2 views
0

VS 2010에서는 LNK2019 및 LNK2001 오류가 발생했지만 g ++에서는 오류가 발생하지 않았습니다.내 cpp 파일이 LNK2019 및 LNK2001 오류를 일으키는 ClCompile 색인에없는 이유는 무엇입니까?

<ItemGroup> 
     <ClCompile Include="main.cpp" /> 
     <ClCompile Include="pilElem3.cpp" /> 
     ... many lines ... 
     <ClCompile Include="utlMatrixFull.cpp" /> 
     <ClCompile Include="utlVector.cpp" /> 
    </ItemGroup> 
    <ItemGroup> 
     <ClInclude Include="pilElem3.h" /> 
     ... many lines ... 
     <ClInclude Include="utlMatrixFull.h" /> 
     <ClInclude Include="utlVector.h" /> 
    </ItemGroup> 
    <ItemGroup> 
     <None Include="pilElement.cpp" /> 
    </ItemGroup> 
:이 목록을보고 나는 이유를 찾고 주위를 검색하지만 모든 프로젝트 디렉토리로 이동하여 .vcxproj 파일을 연 후 등,

을 올바른 헤더 기능이 제대로 정의, 포함 된 확인하는 이야기

pilElement는 링커 오류가 발생한 pilElem3 및 pilElem4의 부모 클래스입니다.
필터를 만든 이후로 필터를 변경하거나 프로젝트를 변경하지 않았습니다.
a) VS가이 파일을 무시해야한다고 생각한 이유는 무엇입니까?
b) 어떻게 빨리 알 수 있습니까?

답변

0

실수로 프로젝트 탐색기에서 파일을 마우스 오른쪽 버튼으로 클릭했을 수도 있습니다. VS에서 쉽게 할 수 있습니다.

앞으로는 발생하지 않도록 2 가지 옵션이 있습니다. a) Visual Studio를 사용하지 마십시오. 또는 b) Mercurial과 같은 개정 관리 시스템을 사용하고 제어중인 프로젝트 파일을 포함하십시오. 정기적 인 커밋을 수행해야합니다. 필요할 경우 프로젝트 파일의 변경 사항을 되돌릴 수 있으며 변경이 예상되지 않을 때 변경된 파일 목록에 있는지 확인해야합니다.

+0

나는 completly이 사용자 오류가 열려 있지만 pilElement.cpp의 속성을 확인했습니다. 일반 탭에서 빌드에서 제외로 나열되지 않았습니다. 나는 이것이 파일이 컴파일되고있는 것을 의미한다고 생각했다. 필자는 디렉토리를 디버그하고 pilElement.obj 파일이 없다는 것을 보았을 때만 알아 냈습니다. linux에서 사용하는 g ++ $ ( Matt

+0

100 % 확신 할 수는 없지만 Visual Studio의 많은 버전에는 Makefile을 사용하여 빌드를 생성 할 수있는 옵션이 있습니다. 리눅스 makefile을 호환 가능하도록 마사지 할 수도 있습니다. –