其中GLOB代表指定目录下的文件,GLOB_RECURSE表示递归循环查找子目录中的文件 可以采用*当做通配符,这样就能指定某种格式的文件了。 file(GLOB ./ext/src/*.cpp) 指定头文件目录 引用的第三方库没有存储在系统目录下时,需要手动指定头文件所在目录。 语法是:include_directories(include路径) include_directories(${PROJ...
在编译项目源文件的时候,很多时候都需要将源文件对应的头文件路径指定出来,这样才能保证在编译过程中编译器能够找到这些头文件,并顺利通过编译。在 CMake 中设置要包含的目录也很简单,通过一个命令就可以搞定了,他就是 include_directories: include_directories(headpath) 1. 举例说明,有源文件若干,其目录结构如下: ...
# Add headerfilepath # include_directories(src/main/cpp/include) # Creates and names a library, sets it as either STATIC # or SHARED, and provides the relative paths to its source code. # You can define multiple libraries, and CMake builds themforyou. # Gradle automatically packages shared...
aux_source_directory 不会递归包含子目录,仅包含指定的dir目录 CMake官方不推荐使用aux_source_directory及其类似命令(file(GLOB_RECURSE …))来搜索源文件,源文件多了,而CMakeLists并不需要(没有)变化,也就使得构建系统不能察觉到新加的文件,。 33.让CMake找到我的库文件 link_directories(${CMAKE_CURRENT_LIST...
include_sub_directories_recursively(${root_dir}/${sub}) # 对子目录递归调用,包含 endif() endforeach() endfunction() 使用如下: # 递归包含工程文件夹下的头文件,这里直接把CMakelist.txt所在文件夹下的文件夹都包含 include_sub_directories_recursively(${PROJECT_SOURCE_DIR}) ...
include_directories(${PROJECT_SOURCE_DIR}/include) 1.9 设置宏定义 #预定义宏 add_definitions(-D宏名称) 例如: add_definitions(-DWINDOWS) add_definitions(-DLINUX) 1.10 链接静态库 link_libraries( 静态库1 静态库2 静态库3 ... ) 注意,link_libraries中的静态库为全路径,常与1.7 link_directories 搭...
target_include_directories: 这是 CMake 的一个命令,用于为指定的目标(此处是 ${PROJECT_NAME})设置包含目录。包含目录是编译时需要查找头文件的路径。 ${PROJECT_NAME}: 这个变量是之前在 CMake 文件中定义的项目名称,在此处它被替换为实际的项目名(在上下文中是 xrbodyfaceeyesocial)。这意味着该命令将应用于...
--include ---sinutil.h --src ---sinutil.cpp -main -- CMakeLists.txt - 4 --main.cpp CMake配置文件内容如下:CMakeLists.txt - 1 cmake_minimum_required(VERSION 2.8.1)project(CMakeDemo)include_directories(${CMakeDemo_SOURCE_DIR}/sin/include)include_directories(${CMakeDemo...
让CMake找到我的头文件, include_directories(/home/include)。常见的也有这样写,把工程的include文件夹加到包含路径。 代码语言:javascript 复制 include_directories(${CMAKE_CURRENT_LIST_DIR}/include), CMAKE_CURRENT_LIST_DIR这个变量,它表示当前CMakeLists所在的路径.或者PROJECT_SOURCE_DIR,这个命令的原型是 ...
使用命令include_directories:该命令用于添加包含文件的目录路径,可以是绝对路径或相对路径。例如:include_directories(/path/to/include) 使用命令link_directories:该命令用于添加链接库的目录路径,可以是绝对路径或相对路径。例如:link_directories(/path/to/lib) ...