1.采用 out-of-source 外部构建多个目录多个文件 这里的文件存储方式如下: 其中build是构建目录,即构建的结果和中间产物都在该目录下 include是包含目录 src是子函数的目录或是依赖文件的目录 main.cpp主函数 从上图的右边可以发现src里存在add.cpp和一个对应的cmakelists.txt文件,同时根目录下也存在一个cmakelist...
# 3. 编译上级目录的CMakeLists.txt,生成Makefile和其他文件 cmake .. # 4. 执行make命令,生成target make 1. 2. 3. 4. 5. 6. 7. 8. 3.2 CMake编译实践 多目录工程 - 生成库文件编译: . ├── include │ └── swap.h ├── main.cpp └── src └── swap.cpp 2 directories, 3...
1.include_directories 这个命令用于向项目添加搜索头文件的路径。当你编译源文件时,编译器需要知道在哪里查找所需的头文件。使用include_directories可以指定一个或多个目录,编译器在这些目录中搜索头文件。 include_directories(<path1> <path2> ...) (1)可以是相对路径或绝对路径。 (2)可以调用多次以添加多个目录。
cmake_minimum_required(VERSION3.16.1)project(test)set(PROJECT_NAME test)set(APP_HELLO_DIR ${PROJECT_SOURCE_DIR}/app_hello)include_directories(${APP_HELLO_DIR})add_subdirectory(${APP_HELLO_DIR})link_directories(${APP_HELLO_DIR})add_executable(${PROJECT_NAME} ${PROJECT_SOURCE_DIR}/app_main...
# 注意,该子目录中须包含CMakeList.txt文件 add_subdirectory(math) # 添加当前编译目标使用到的头文件搜索路径,多个路径之间用空格分隔 # 如果路径包含空格,可以使用双引号将它括起来 include_directories("${PROJECT_SOURCE_DIR}/math/inc") # 指定生成目标 ...
target_include_directories也支持多个目录。只不过,每个目录都要设置一个指定权限,其原型如下,你一看就明白了。 target_include_directories(<target> <INTERFACE|PUBLIC|PRIVATE> [items1...] [<INTERFACE|PUBLIC|PRIVATE> [items2...]...] 好了,这样我们就将头文件和目标文件分离开了。
include_directories([AFTER|BEFORE] [SYSTEM] dir1 [dir2 ...]) 该命令主要是将目录添加到编译器的头文件的搜索目录之下,具体介绍见这里。执行该命令后,会将指定的目录添加到当前CMakeLists.txt文件的INCLUDE_DIRECTORIES目录属性和INCLUDE_DIRECTORIES目标文件属性中。接下来看一个实例,看include_directories添加目录...
该⽂件添加了下⾯的内容: 使⽤命令include_directories添加头⽂件路径。使⽤命令 add_subdirectory 指明本项⽬包含⼀个⼦⽬录math,这样 math ⽬录下的 CMakeLists.txt ⽂件和源代码也会被处理。使⽤命令 target_link_libraries 指明可执⾏⽂件 main 需要连接⼀个名为 MathFunctions 的...
对于这种情况,CMakeLists.txt可以有不同的写法:写法1 首先看第一种写法,如下:这里出现了1个新的命令:include_directories,用来指定头文件的搜索路径 写法2 再来看第二种写法,如下:可以使用aux_source_directory,将指定目录下的源文件列表存放到变量中 1.3 编译测试 在当前目录执行cmake指令:c...
首先添加要包含的目录:target_include_directories(test PRIVATE ${YOUR_DIRECTORY})如果您在没有支持的...