include_directories用法
时间: 2023-12-29 15:50:42 浏览: 81
`include_directories`指令用于向CMake添加包含目录路径。这些目录将用于查找#include文件。可以将多个目录添加到一个指令中。
语法:
```cmake
include_directories([AFTER|BEFORE] [SYSTEM] dir1 [dir2 ...])
```
其中:
- `AFTER`或`BEFORE`指定在哪个位置添加目录路径,默认为`AFTER`。
- `SYSTEM`指定被包含的目录是系统目录,编译器会对这些目录的头文件给出警告信息,一般是不需要的。
- `dir1, dir2, ...`是包含目录路径。
示例:
```cmake
include_directories(
${PROJECT_SOURCE_DIR}/include
${OpenCV_INCLUDE_DIRS}
${Boost_INCLUDE_DIRS}
)
```
上面的示例添加了三个包含目录路径,`${PROJECT_SOURCE_DIR}/include`是项目的包含目录,`${OpenCV_INCLUDE_DIRS}`和`${Boost_INCLUDE_DIRS}`是OpenCV和Boost库的包含目录路径。
相关问题
cmake中target_sources用法target_link_libraries\target_include_directories\target_compile_options
在CMake中,target_sources命令用于向target添加源文件,其格式如下:
```cmake
target_sources(<target> [PRIVATE|PUBLIC|INTERFACE] [items1...]
[<PRIVATE|PUBLIC|INTERFACE> [items2...] ...])
```
这个命令可以将源文件直接添加到指定的target中。源文件可以是C、C++、Objective-C、Objective-C++等类型的文件。
例如,假设我们有一个名为myapp的目标,并且我们想将两个源文件main.cpp和helper.cpp添加到该目标中,可以使用以下代码:
```cmake
add_executable(myapp)
target_sources(myapp PRIVATE main.cpp helper.cpp)
```
target_link_libraries命令用于将目标与库文件进行链接,其格式如下:
```cmake
target_link_libraries(<target> [item1] [item2] [...])
```
这个命令可以将库文件链接到指定的target中,以便在编译和链接过程中使用这些库。
例如,假设我们有一个名为myapp的目标,并且我们想将名为mylib的库文件链接到该目标中,可以使用以下代码:
```cmake
add_executable(myapp)
target_link_libraries(myapp mylib)
```
target_include_directories命令用于向target添加包含目录,其格式如下:
```cmake
target_include_directories(<target> [SYSTEM] [BEFORE|AFTER]
<INTERFACE|PUBLIC|PRIVATE> [items1...]
[<INTERFACE|PUBLIC|PRIVATE> [items2...] ...])
```
这个命令可以将包含目录添加到指定的target中,以便在编译过程中可以找到所需的头文件。
例如,假设我们有一个名为myapp的目标,并且我们想将名为include的目录添加到该目标的包含目录中,可以使用以下代码:
```cmake
add_executable(myapp)
target_include_directories(myapp PRIVATE include)
```
target_include_directories
target_include_directories 是 CMake 的一个命令,用于指定目标文件的头文件目录。使用方法如下:
target_include_directories(<target> [BEFORE|AFTER] [INTERFACE|PUBLIC|PRIVATE]
[item1 [item2 [...]]])
其中,<target> 是目标文件的名称,[BEFORE|AFTER] 指定在其他 include_directories 命令之前或之后执行,[INTERFACE|PUBLIC|PRIVATE] 指定头文件目录的作用域,item1、item2 等则是头文件目录的路径。
阅读全文