c++ - studio用途 - visual studio维基百科




如何在Visual Studio中包含子目录? (3)

我们还没有找到在Visual Studio中设置递归文件夹搜索的方法(尽管Xcode没有设置和使用它们的问题)。 我们所做的是列出文件中的所有目录,并在C / C ++命令行中指定文件其他选项:

@ “IncludeFolders.rsp”

我们很少发现使用递归搜索的问题,尽管意外地加入了“/”可能会让事情变慢一点。

我必须包含许多头文件,这些头文件位于不同的子目录中。 在Visual Studio中有没有一种方法(我正在使用2005版)来设置一个Visual Studio将搜索头文件的子目录的包含路径?


我相信使用包含文件的递归搜索将导致更多的问题,而不是以包含错误文件或错误版本的形式解决。 毕竟,您在设置项目时必须定义一次正确的目录。


我发现在大多数情况下,包括在MSVC中,我可以通过使用SUBST命令轻微的手段来缩短路径长度。 我将展示和缩短默认继承的C ++包含路径的示例,但是您会为项目相关的包含路径执行此操作。 首先像这样创建一个或多个批处理文件(并从Windows资源管理器或命令行运行它们):

MDrive.bat:
subst M: /D
subst M: "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC"

WDrive.bat:
subst W: /D
subst W: "C:\Program Files (x86)\Windows Kits\8.1\Include"

... This is just and example.  You would do this for your
    project related include directories.

您可以为更长的路径创建一些这些。 在上面的情况下,我只缩短MSVC默认使用的标准继承路径。 顺便说一句,Subst命令工作不管理管理权限,但不踩在现有的物理或映射的驱动器号(我不知道会发生什么 - 我不想现在测试)。

这一步是可选的。 我在MSVS 2010+我添加一个自定义属性表。 顺便说一句,如果你不知道自定义属性表,你应该。 请参阅属性页(Vi​​sual C ++)在其他窗口 - 属性窗口中 ,右键单击属性管理器中的项目, 添加一个新的项目属性表 。 在用户宏下 ,添加一个宏,例如MyProjectIncludePaths ,并将值(在本例中)设置为

M:; M:\atlmfc\include; W:\um; W:\shared; W:\winrt

- 在这个例子中只有49个字符,比默认的短得多

$(VC_IncludePath); $(WindowsSKD_IncludePath)

经过宏观扩展转化为

C:\Program Files (x86)\Windows Kits\8.1\Include;C:\Program Files (x86)\Windows Kits\8.1\Include\atlmfc\include;C:\Program Files (x86)\Windows Kits\8.1\Include\um;C:\Program Files (x86)\Windows Kits\8.1\Include\shared;C:\Program Files (x86)\Windows Kits\8.1\Include\winrt

通过我的计数,默认值是270个字符 - 即超过260个字符 - 任何人都可以解释这个吗?

在该项目的属性页面(即不是自定义属性表),在我的例子中,我去了配置属性-VC ++目录 ,并将包含目录值更改为$(MyProjectIncludePaths) ,但实际上,你会去(在你的自定义属性表页如果你创建一个) C / C + + - 一般和添加$(MyProjectIncludePaths)其他包含目录

除了继承的270个字符路径之外,我还可以在Additional Include Directories下添加一些合理长度的路径。 也许附加包含目录有它自己的长度限制(?)。





include