include_directorie和target_include_directorie的区别
时间: 2023-12-29 18:45:31 浏览: 157
Stream_Custom_Directorie.rar_vod stream
`include_directories` 和 `target_include_directories` 都是用来指定头文件包含路径的 CMake 命令,但它们的作用范围有所不同。
`include_directories` 命令是全局命令,用于指定整个工程的头文件包含路径,它会影响到整个工程的所有目标。例如:
```cmake
include_directories(include)
```
这个命令会将 `include` 目录添加到整个工程的头文件包含路径中。
而 `target_include_directories` 命令是用于指定某个目标的头文件包含路径,它只会影响到指定的目标。例如:
```cmake
add_library(my_lib my_lib.cpp)
target_include_directories(my_lib PUBLIC include)
```
这个命令会将 `include` 目录添加到 `my_lib` 目标的头文件包含路径中。
总的来说,`include_directories` 命令适用于整个工程的头文件包含路径的设置,而 `target_include_directories` 命令适用于某个具体目标的头文件包含路径的设置。
阅读全文