Cmake 添加 头文件目录
时间: 2024-01-27 12:04:03 浏览: 48
要将头文件目录添加到CMake项目中,可以使用`include_directories`命令。该命令将指定目录添加到编译器的头文件搜索路径中。
示例:
```
include_directories(
${PROJECT_SOURCE_DIR}/include
${PROJECT_SOURCE_DIR}/src
)
```
在上面的示例中,我们将`include`和`src`目录添加到项目的头文件搜索路径中。`PROJECT_SOURCE_DIR`是CMake的内置变量,指向当前项目的根目录。
如果你的头文件在不同的目录中,只需将相应的路径添加到`include_directories`命令中即可。
相关问题
cmake 添加头文件目录,链接动态、静态库
CMake 是一个跨平台的自动化构建系统,可以简化项目的构建过程。在 CMake 中,可以通过以下方式添加头文件目录、链接动态库和静态库:
## 添加头文件目录
可以使用 `include_directories` 命令添加头文件目录,例如:
```cmake
include_directories(${PROJECT_SOURCE_DIR}/include)
```
其中 `${PROJECT_SOURCE_DIR}` 表示项目的根目录,`include` 是头文件所在的目录名。
## 链接动态库
可以使用 `target_link_libraries` 命令链接动态库,例如:
```cmake
target_link_libraries(myexe ${PROJECT_SOURCE_DIR}/lib/libfoo.so)
```
其中 `myexe` 是可执行文件的名称,`${PROJECT_SOURCE_DIR}` 表示项目的根目录,`lib` 是动态库所在的目录名,`libfoo.so` 是动态库的名称。
## 链接静态库
可以使用 `target_link_libraries` 命令链接静态库,例如:
```cmake
target_link_libraries(myexe ${PROJECT_SOURCE_DIR}/lib/libfoo.a)
```
其中 `myexe` 是可执行文件的名称,`${PROJECT_SOURCE_DIR}` 表示项目的根目录,`lib` 是静态库所在的目录名,`libfoo.a` 是静态库的名称。
需要注意的是,如果同时链接动态库和静态库,建议先链接动态库,再链接静态库,以避免出现符号重复定义的问题。例如:
```cmake
target_link_libraries(myexe ${PROJECT_SOURCE_DIR}/lib/libfoo.so)
target_link_libraries(myexe ${PROJECT_SOURCE_DIR}/lib/libbar.a)
```
cmake添加头文件
在CMake中,添加头文件可以使用include_directories命令。该命令用于向项目添加一个或多个目录,这些目录包含头文件。例如,如果你想将一个名为include的目录添加到你的项目中,可以使用以下命令:
```
include_directories(include)
```
此外,你还可以使用target_include_directories命令将头文件添加到特定的目标中。例如,如果你想将一个名为mylib的库与一个名为myexe的可执行文件链接,并将一个名为include的目录添加到mylib中,可以使用以下命令:
```
add_library(mylib mylib.cpp)
target_include_directories(mylib PUBLIC include)
add_executable(myexe main.cpp)
target_link_libraries(myexe mylib)
```
这将确保mylib中的头文件可以在myexe中使用。