include_directories([AFTER|BEFORE] [SYSTEM] dir1 [dir2 ...]) 1. 将给定的目录添加到编译器用来搜索头文件的目录中。相对路径被解释为相对于当前源目录。 头目录被添加到当前CMakeLists文件的INCLUDE_DIRECTORIES目录属性中。它们还被添加到当前CMakeLists文件中每个目标的INCLUDE_DIRECTORIES目标属性中。目标属性...
include_directories(${PROJECT_SOURCE_DIR}/include) # 这里将子目录条件到工程,并指定编译的输出产物,默认输出产物保存到build/src文件夹下, # 如果不指定可行文件保存路径同样也会保存到该路径下 add_subdirectory(src) # 上面定义了将src子目录加入工程,并指定编译输出(包含编译中间结果)路径为 # bin目录。如果...
include_directories会对当前CMakeLists.txt文件的目标文件生效,并会通过add_subdirectory调用传递到子目录;target_include_directories则针对指定的目标文件生效。 target_include_directories对于指定目标添加的目录,有三种范围可选,PUBLIC、PRIVATE和INTERFACE。INTERFACE和PUBLIC会添加到<target>的INTERFACE_INCLUDE_DIRECTORIES属...
include_directories([AFTER|BEFORE] [SYSTEM] dir1 [dir2 ...]) 该命令主要是将目录添加到编译器的头文件的搜索目录之下,具体介绍见这里。执行该命令后,会将指定的目录添加到当前CMakeLists.txt文件的INCLUDE_DIRECTORIES目录属性和INCLUDE_DIRECTORIES目标文件属性中。接下来看一个实例,看include_directories添加目录...
include_directories 会为当前CMakeLists.txt的所有目标,以及之后添加的所有子目录的目标添加头文件搜索路径。因此,慎用target_include_directories,因为会影响全局target。 target_include_directories 只会为指定目标包含头文件搜索路径。如果想为不同目标设置不同的搜索路径,那么用target_include_directories更合适。
target_include_directories()的功能完全可以使用include_directories()实现。但是我还是建议使用target_include_directories()。为什么?保持清晰! include_directories(header-dir)是一个全局包含,向下传递。什么意思呢?就是说如果某个目录的 CMakeLists.txt 中使用了该指令,其下所有的子目录默认也包含了header-dir目录。
在CMake中,include_directories和aux_source_directory是两个常用的命令,它们都与源代码文件和头文件的组织有关,但用途和工作方式有所不同。 1.include_directories 这个命令用于向项目添加搜索头文件的路径。当你编译源文件时,编译器需要知道在哪里查找所需的头文件。使用include_directories可以指定一个或多个目录,编...
CMake的作用域是指命令影响的范围。例如,include_directories命令在被调用的CMakeLists.txt文件及其子目录中有效。如果在项目的根目录使用include_directories,那么这个路径会应用于整个项目。然而,如果在子目录中的CMakeLists.txt文件使用,它只影响该目录及其子目录。
VERSION3.0)project(MyProject)include_directories(${PROJECT_SOURCE_DIR}/include)# 搜索 src 目录下...
The include directories are added to the directory property INCLUDE_DIRECTORIES for the current CMakeLists file. They are also added to the target property INCLUDE_DIRECTORIES for each target in the current CMakeLists file. The target property values are the ones used by the generators. The INCL...