像这样在msbuild中定义Cl任务的目的是什么?

  <ItemGroup>
    <ClInclude Include="Something.h" />
  </ItemGroup>

这有必要吗?看起来只要在源文件中添加#include "Something.h"就足够了。 ClInclude任务可以实现什么目的?0

最佳答案

它基本上仅用于Visual Studio用户界面:如果在解决方案资源管理器中查看项目,并且“显示所有文件”已关闭,则它仅显示在不同项目中定义的内容,这些内容用作构建的输入(ClInclude / ClCompile /资源/ ...)。因此,即使编译器愉快地找到了包含文件,IDE也不会在解决方案资源管理器中列出它。同样,“转到文件”之类的功能也不会考虑该文件。

启用“显示所有文件”功能后,您会看到整个目录结构,这对我来说通常是更好的体验,尽管它仍显示未在项目中明确列出的文件,并带有红色标记来暗示这一点。但是,至少您可以右键单击它们,然后选择“包含在项目中”,而不是手动查找它们。

09-15 11:46