0
我在VS 2010中收到LNK2019和LNK2001錯誤,但沒有使用g ++。我搜索四處尋找原因,但一切都談到要確保正確的頭都包括在內,功能適當的定義等爲什麼我的cpp文件不在ClCompile索引中,導致LNK2019和LNK2001錯誤?
要到項目目錄,並打開.vcxproj文件後,我看到這個名單:
<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>
pilElement是pilElem3和pilElem4的父類,它們有鏈接器錯誤。
我沒有改變任何過濾器或自創建它以來改變項目。
a)爲什麼VS認爲這個文件應該被忽略?
b)我怎麼能早點注意到這一點?
我完全打開這是用戶錯誤,但我檢查了pilElement.cpp的屬性。在常規選項卡下,它未被列爲「從構建中排除」。我想這意味着文件正在編譯。我只是通過去調試目錄並看到沒有pilElement.obj文件。有沒有辦法發送一個列表文件到編譯器類似於我在linux中使用的g ++ $(
Matt
我不是100%確定的,但許多版本的Visual Studio都有一個選項來使用Makefile來生成你的構建 - 個人而言,我發現最好,因爲我覺得它更透明。你甚至可以按照你的Linux makefile兼容。 –