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

MSBUILD doest not detect change in project files

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

为什么还在找旧文件?

我认为你在重命名文件之前应该清理一下。有可能一些目标文件 *.obj 仍然指向旧文件,或者 visual studio 的一些其他临时文件指向旧文件名。

This issue seems to result from that you haven't changed the main.h to main.hpp in main.cpp file.

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

根据错误信息我们可以发现这个错误来自于CIComplie目标。

并打开myproject.vcxproj文件,可以找到<ClCompile Include="main.cpp" />.

这句话

现在很明显这个问题是由这个引起的,正如你提到的你已经更改了文件名并且在 .vcxproj 文件中做了同样的更改。但是您还没有在 main.cpp.

中进行更改

所以当这个目标开始编译时,它找不到main.h文件,它在main.cpp.

中找到了“#include "main.h"”这样的代码定义的文件
Changing the “#include "main.h" to “#include "main.hpp" can help.

您可以在此处分享任何更新或反馈。