为什么我的cpp文件不在ClCompile索引中,导致LNK2019和LNK2001错误?

时间:2013-07-30 18:35:31

标签: visual-studio-2010 lnk2019 lnk2001

我在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)我怎么能更快注意到这一点?

1 个答案:

答案 0 :(得分:0)

回答我怀疑你可能无意中右键点击了项目资源管理器中的文件 - 所有这一切都很容易在VS中完成。

如何确保将来不会发生您有2个选项a)不要使用visual studio或b)使用Mercurial等修订控制系统并将项目文件包含在您正在控制的项目中 - 和定期提交 - 如果需要,您将能够还原对项目文件的更改,并且当您不希望它发生更改时,您应该注意它是否在更改的文件列表中。