/I(附加包含目录)

将目录添加到在其中搜索包含文件的目录列表中。

语法

/I directory

参数

目录
添加到搜索包含文件的目录列表中的目录。 /I 和 directory 之间的空间是可选的。 包含空格的目录必须用双引号引起来。 目录可以是绝对路径或相对路径。

注解

要添加多个目录,请多次使用此选项。 仅在找到指定的包含文件之前搜索目录。

你可以在与(/X(忽略标准包含路径))选项相同的命令行上使用此选项。

可以以双引号(或本地优先)形式指定 #include 指令,例如,#include "local.h"。 或者,它可以以尖括号(或包含路径优先)的形式指定,例如 #include <iostream>

编译器按以下顺序搜索目录:

  1. 如果使用双引号形式指定 #include 指令,则首先搜索本地目录。 搜索从与包含 #include 指令的文件相同的目录中开始。 如果找不到该文件,它会在当前打开的包含文件的目录中搜索下一个,按照打开它们的相反顺序。 搜索从父包含文件的目录中开始进行,然后继续向上到任何祖父包含文件的目录。

  2. 如果 #include 指令以尖括号形式指定,或者本地目录搜索失败,它会按照在命令行中指定的顺序搜索使用 /I 选项指定的目录。

  3. INCLUDE 环境变量中指定的目录。

在 Visual Studio 开发环境中设置此编译器选项

  1. 打开项目的“属性页” 对话框。 有关详细信息,请参阅在 Visual Studio 中设置 C++ 编译器和生成属性

  2. 选择“配置属性”>“C/C++”>“常规”属性页

  3. 修改“附加包含目录”属性。 可以在此属性中一次指定多个目录。 目录必须用分号 (;) 分隔。

以编程方式设置此编译器选项

示例

以下命令按以下顺序查找 main.c 请求的包含文件:首先,如果使用双引号指定,则搜索本地文件。 接下来,在 \include 目录中继续搜索,然后在 \my\include 目录中,最后在分配给 INCLUDE 环境变量的目录中,按从左到右的顺序。

CL /I \include /I\my\include main.c

另请参阅

MSVC 编译器选项
MSVC 编译器命令行语法