MSBUILD不会检测到项目文件中的更改

时间:2019-02-25 18:10:51

标签: windows visual-studio msbuild msbuild-task

我需要构建一个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>

为什么它仍在寻找旧文件?

2 个答案:

答案 0 :(得分:0)

  

此问题似乎是由于您尚未将main.h更改为   main.cpp文件中的main.hpp。

您得到的错误是否类似于下面的图片?

enter image description here enter image description here 根据错误消息,我们可以发现此错误来自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的其他一些临时文件指向旧文件名。