安装后,无需在CMakeLists.txt中 find_package() 和 include_directories(),直接 target_link_libraries()。 FILE(GLOB_RECURSE TEST_SRC "${CMAKE_SOURCE_DIR}/test/*.cpp" "${CMAKE_SOURCE_DIR}/test/*.h")add_executable(${PROJECT_NAME}_test ${TEST_SRC})target_link_libraries(${PROJECT_NAME}_...
target_include_directories(subtraction PRIVATE include) target_link_libraries(main subtraction) # test no items target_include_directories(main PRIVATE) target_include_directories(main BEFORE PRIVATE) target_include_directories(main SYSTEM BEFORE PRIVATE) target_include_directories(main SYSTEM PRIVATE) 1. 2...
基本的CMakeLists.txt并不难,主要有生成库、生成执行文件、链接二者以及找库find_package、找头文件include_directories、生成执行文件add_executable、链接库和执行文件target_link_libraries两种方法组成。 但是遇到大型库的编写,目标是生成一个新的大型库myslam,生成执行文件、链接二者。需要提前声明生成执行文件在bin,库...
# 3、cmake在构建一个新的target时,会尝试清理掉其他使用这个名字的库, # 因此,在构建libhello.a时,就会清理掉libhello.so. # 为了回避这个问题,比如再次使用SET_TARGET_PROPERTIES定义 CLEAN_DIRECT_OUTPUT属性。 SET_TARGET_PROPERTIES (hello_static PROPERTIES CLEAN_DIRECT_OUTPUT 1) SET_TARGET_PROPERTIES (h...
TARGET_LINK_LIBRARIES(hello util) TARGET_LINK_LIBRARIES用以定义链接时需要的库文件。 2.在工程目录下创建build目录,并采用out-of-source方式编译项目。执行命令cmake ..,执行结果如下: 3)然后进行make 4)安装 重新编辑工程目录下的CMakeLists.txt。在CMakeLists.txt中添加如下命令: ...
target_link_libraries( native-lib ${log-lib}) 2、常用命令-add_library 添加一个库 添加一个库文件,名为<name> 指定STATIC,SHARED,MODULE参数来指定库的类型。STATIC:静态库;SHARED:动态库;MODULE:在使用的dyld的系统有效,若不支持dyld,等同于SHARED; ...
2、TARGET_LINK_LIBRARIES TARGET_LINK_LIBRARIES 语法:TARGET_LINK_LIBRARIES(targetlibrary1 <debug | optimized> library2 ..) 比如(以下写法(包括备注中的)都可以): TARGET_LINK_LIBRARIES(myProject hello),连接libhello.so库到myProject(可执行文件)当中 ...
在CMakeList.txt中链接-ldl,可以通过以下步骤实现: 打开CMakeList.txt文件,通常位于项目的根目录。 在文件中找到target_link_libraries命令,该命令用于指定要链接的库。 在target_link_libraries命令后面添加-ldl,表示链接动态链接库(libdl)。 保存并关闭CMakeList.txt文件。 链接-ldl的目的是将libdl库与项目进行链接...
target_link_libraries:链接外部库。 示例: 假设你有一个包含main.cpp和一些头文件的简单项目,目录结构如下: MyProject/ | |--CMakeList.txt |--main.cpp |--include/ |--myheader.h 此时的CMakeList.txt文件可以写成: cmake_minimum_required(VERSION 3.10) project(MyProject VERSION 1.0) set(CMAKE_CXX...
* include():用于包含其他CMakeLists.txt文件。 * target_link_libraries():用于链接库文件到目标。 您可以使用文本编辑器或集成开发环境(IDE)来编辑CMakeLists.txt文件。在编辑时,请确保遵循CMake的语法规则和约定。 二、配置项目属性 在CMakeLists.txt文件中,您可以设置项目的各种属性,如源代码目录、编译器选项...