VS 2010 では LNK2019 および LNK2001 エラーが発生しましたが、g++ では発生しませんでした。私は理由を探し回ったが、すべてが正しいヘッダーが含まれていること、関数が適切に定義されていることなどを確認することについて話し合った.
プロジェクト ディレクトリに移動して .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) どうすればこれに早く気付くことができますか?