在CMake 中,INCLUDE_DIRECTORIES指令用于指定编译器在编译源文件时搜索头文件的目录。INCLUDE_DIRECTORIES还可以使用BEFORE关键字来控制包含目录的优先级。 多个BEFORE,后面指定的BEFORE目录的优先级更高 使用示例 include_directories(BEFORE${PROJ_SOURCE_DIR}/src/) 解释 ${PROJ_SOURCE_DIR}/src/: 这是一个包含目录...
INTERFACE、PUBLIC、PRIVATE关键字指定后面参数的作用域。PRIVATE和PUBLIC作用域会将条目添加到target的INCLUDE_DIRECTORIES属性(本target构建需要的头文件搜索路径)。PUBLIC和INTERFACE作用域会将条目添加到target的INTERFACE_INCLUDE_DIRECTORIES属性(作为依赖库需要的头文件搜索路径)。 对同一个target重复调用,会按照调用顺序,添...
include_directories(...your_head_file_path) 指定头文件查找的路径有哪些,可以有多个。这样会让你引用头文件不报错。 link_directories(...your_lib_file_path) 指定去哪个目录查找需要的库文件,可以有多个。链接器在链接时可以找到这些目录下的库文件。 target_link_libraries(your_program_name | your_lib_nam...
本文通过一个示例,详细解释了常用的 CMake 命令的作用,包括cmake_minimum_required、project、add_executable、add_library、target_link_libraries、include_directories、link_directories、find_package、find_library、find_file、configure_file以及install命令,相信读者以后会在开发工作中经常遇到。 通过阅读本文,读者应该...
include_directories命令 命令语法:include_directories([AFTER|BEFORE][SYSTEM] dir1 dir2 …) 命令简述:用于设定目录,这些设定的目录将被编译器用来查找 include 文件 使用范例:include_directories(${PROJECT_SOURCE_DIR}/lib) find_path命令 命令语法:find_path(<VAR>name1 [path1 path2 …]) 命令简述:用于查...
include_directories(${OpenCV_INCLUDE_DIRS}) target_link_libraries(my_bin, ${OpenCV_LIBS}) 1. 2. 3. 4. 工作流程如下: find_package在一些目录中查找OpenCV的配置文件。 找到后,find_package会将头文件目录设置到${OpenCV_INCLUDE_DIRS}中,将链接库设置到${OpenCV_LIBS}中。
include_directories(): 添加头文件目录。 find_package(): 寻找并加载外部库。 install(): 定义安装规则。 这仅是 CMake 语法的简要概述,CMake 提供了丰富的功能和命令,具体内容可以参考官方文档:CMake官方文档。不过笼统的概述相信并不能让读者掌握CMake的使用,不用担心,接下来,我们会给出一个CMakeList的编写...
include_directories(${OpenCV_INCLUDE_DIRS}) target_link_libraries(my_bin, ${OpenCV_LIBS}) 工作流程如下: find_package在一些目录中查找OpenCV的配置文件。 找到后,find_package会将头文件目录设置到${OpenCV_INCLUDE_DIRS}中,将链接库设置到${OpenCV_LIBS}中。
include_directories(${G2O_INCLUDE_DIRS}) link_directories(${G2O_LIBRARY_DIRS}) link_libraries(${G2O_LIBRARIES}) 1. 2. 3. 4. 5. find_package根据package名称寻找指定的package的.cmake文件,并对应赋值包对应的头文件地址(如${OpenCV_INCLUDE_DIRS})及库(如${OpenCV_LIBRARIES}) ...
CMAKE_INCLUDE_DIRECTORIES_BEFORE,通过SET这个cmake变量为on,可以将添加的头文件搜索路径放在已有路径的前面 通过AFTER或BEFORE参数,也可以控制是追加还是置前 LINK_DIRECTORIES(库文件路径) LINK_DIRECTORIES(directory1 directory2 ...) TARGET_LINK_LIBRARIES ...