link_directories( lib ) 3. target_link_libraries 该指令的作用为将目标文件与库文件进行链接。该指令的语法如下: target_link_libraries(<target> [item1] [item2] [...] [[debug|optimized|general] <item>] ...) 上述指令中的<target>是指通过add_executable()和add_library()指令生成已经创建的目标...
该命令给指定的目标文件添加头文件搜索目录,所以<target>必须用add_executable()或add_library()等命令先创建出来,和include_directories的主要差别是: include_directories会对当前CMakeLists.txt文件的目标文件生效,并会通过add_subdirectory调用传递到子目录;target_include_directories则针对指定的目标文件生效。 target_i...
target_include_directories 为指定目标(target)添加搜索路径,指定目标是指通过如add_executable(),add_library()这样的命令生成的,并且决不能是alias target(引用目标,别名目标)。 语法格式: target_include_directories(<target> [SYSTEM] [AFTER|BEFORE] <INTERFACE|PUBLIC|PRIVATE> [items1...] [<INTERFACE|PUBLI...
这里介绍常用的三种指令add_library、target_link_libraries和link_directories,该笔记主要参考了cmake官网给的教程,如有需要请访问以下网址: https://cmake.org/cmake/help/v3.1/ 1. add_library 该指令的主要作用就是将指定的源文件生成链接文件,然后添加到工程中去。该指令常用的语法如下: add_library(<name>[...
add_executable(demo main.cpp ) 7.最后贴一个完整的例子 cmake_minimum_required (VERSION 2.6) INCLUDE_DIRECTORIES(../../thirdparty/comm) FIND_LIBRARY(COMM_LIB comm ../../thirdparty/comm/lib NO_DEFAULT_PATH) FIND_LIBRARY(RUNTIME_LIB rt /usr/lib /usr/local/lib NO_DEFAULT_PATH) ...
然后add_subdirectory(libs)将libs子目录添加进来,使用target_include_directories函数将libs目录添加到编译的include目录,这样编译器才能找到自定义的函数声明。target_compile_definitions添加一个MY_MATH(与上面的option不是同一个含义)宏,用于控制编译代码时使用自定义求和函数还是标准库求和函数。 此外,还得在libs子目录...
在上层CMakeLists.txt使用add_subdirectory添加子目录来构建子模块,子目录中同样编写CMakeLists.txt来管理 为目标添加包含目录,其中${PROJECT_SOURCE_DIR}表示当前CMakeLists.txt所在的目录,${PROJECT_BINARY_DIR}表示cmake构建目录 target_include_directories(Tutorial PUBLIC ...
add_executable(demo main.cpp) 6. 最后贴一个完整的例子 cmake_minimum_required (VERSION2.6) INCLUDE_DIRECTORIES(../../thirdparty/comm) FIND_LIBRARY(COMM_LIB comm ../../thirdparty/comm/lib NO_DEFAULT_PATH) FIND_LIBRARY(RUNTIME_LIB rt /usr/lib /usr/local/lib NO_DEFAULT_PATH) ...
add_library(gRPC::grpc++ SHARED IMPORTED) set_target_properties(gRPC::grpc++ PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include" INTERFACE_LINK_LIBRARIES "protobuf::libprotobuf;dl;m;Threads::Threads;rt;gRPC::grpc" ) # Create imported target gRPC::grpc_cpp_plugin ...
include_directories(/path/to/third_party/include) 这样,CMake就会在构建过程中自动包含这个目录中的头文件。 2. 库目录 接下来,你需要告诉CMake库文件(.a或.lib)所在的目录。这可以通过link_directories()函数实现。假设你的库文件位于/path/to/third_party/lib,你可以在CMakeLists.txt文件中这样设置: link_...