首页 > 解决方案 > 在 vcxproj 中使用 #include 与 ClInclude

问题描述

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

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

这是必要的吗?似乎只有#include "Something.h"在源文件中就足够了。ClInclude 任务然后实现什么目的?0

标签: c++msbuild

解决方案


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

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


推荐阅读