我需要构建一个C ++库,并且需要在终端上使用msbuild。我按照Here in the docs.microsoft.com中的步骤进行了所有工作,并成功完成了项目。
然后我将文件名从main.h更改为main.hpp,还更改了项目文件(.vcxproj)中的名称,然后运行了
msbuild /t:Clean
msbuild myproject.vcxproj /p:configuration=debug
它说它找不到名为“ main.h”的文件,但是我已将myproject.vcxproj文件中所需的文件名更改为“ main.hpp”,这与将main.h重命名为main.hpp相对应。 / p>
为什么它仍在寻找旧文件?
答案 0 :(得分:0)
此问题似乎是由于您尚未将main.h更改为 main.cpp文件中的main.hpp。
您得到的错误是否类似于下面的图片?
根据错误消息,我们可以发现此错误来自CIComplie目标。
打开myproject.vcxproj文件,我们可以找到这句话<ClCompile Include="main.cpp" />
。
现在很明显,此问题是由此引起的,正如您提到的,您已经更改了文件名,并且对.vcxproj文件进行了相同的更改。但是您没有对main.cpp进行更改。
因此,当此目标开始编译时,它将找不到在main.cpp中的“ #include“ main.h””等代码中定义的main.h文件。
Changing the “#include "main.h" to “#include "main.hpp" can help.
您可以在此处分享任何更新或反馈。
答案 1 :(得分:-1)
我认为您应该在重命名文件之前先清理一下。可能某些目标文件* .obj仍然指向旧文件,或者Visual Studio的其他一些临时文件指向旧文件名。