include_directories
时间: 2023-12-29 17:48:29 浏览: 76
`include_directories` 是 CMake 的一个指令,用于向 CMake 告知需要包含的头文件目录。
例如,假设我们有一个头文件 `foo.h`,它位于路径 `/path/to/foo` 中。我们可以在 CMakeLists.txt 文件中使用 `include_directories` 指令来添加这个头文件目录:
```
include_directories(/path/to/foo)
```
这将告诉 CMake 在编译时需要包含 `/path/to/foo` 目录下的头文件。
如果有多个头文件目录需要添加,可以连续多次调用 `include_directories` 指令,例如:
```
include_directories(/path/to/foo)
include_directories(/path/to/bar)
```
这样就告诉 CMake 需要包含 `/path/to/foo` 和 `/path/to/bar` 两个目录下的头文件。
相关问题
include_directories target_include_directories
include_directories 和 target_include_directories 都是 CMake 中用来添加头文件搜索路径的命令。
include_directories 是一个全局命令,用于将指定的目录添加到整个项目的头文件搜索路径中。这意味着在项目的任何地方都可以使用这些头文件,而不需要显式地指定路径。
target_include_directories 则是一个针对特定目标的命令,用于将指定的目录添加到特定目标的头文件搜索路径中。这意味着只有特定目标可以使用这些头文件。
两个命令的用法类似,都需要指定目录路径作为参数。例如:
```cmake
include_directories(path/to/directory)
```
```cmake
target_include_directories(my_target PUBLIC path/to/directory)
```
其中,include_directories 可以在 CMakeLists.txt 的任何位置使用,而 target_include_directories 则需要在定义目标之后使用。
target_include_directories 和include_directories
target_include_directories和include_directories都是在CMake中用于指定编译器搜索头文件的路径的指令。
target_include_directories用于为特定的目标(target)设置头文件搜索路径。具体语法为:
target_include_directories(<target> [SYSTEM [AFTER|BEFORE <INTERFACE|PUBLIC|PRIVATE> [items1...])
其中,<target>表示目标名称,表示将路径视为系统路径,用于指定添加路径的位置,<INTERFACE|PUBLIC|PRIVATE>表示添加路径的可见性, [SYSTEM dir1 [dir2 ...])
其中,用于指定添加路径的位置,表示将路径视为系统路径,dir1 [dir2 ...表示要添加的路径。
总结起来,target_include_directories用于为特定目标设置头文件搜索路径,而include_directories用于为当前目录及其子目录设置头文件搜索路径。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [cmake:target_include_directories、include_directories、add_executable](https://blog.csdn.net/zhizhengguan/article/details/115331314)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [include_directories和target_include_directories](https://blog.csdn.net/qq_33726635/article/details/121896441)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]