在cmake语法中,link_libraries 和 target_link_libraries是很重要的两个链接库的方式,虽然写法上很相似,但是功能上有很大区别: 1. link_libraries 用在add_executable之前,target_link_libraries用在add_executable之后 2. link_libraries用来链接静态库,target_link_libraries用来链接导入库,即按照header file + .lib...
如果库名或搜索路径发生变化,需要手动修改CMakeLists.txt文件。使用场景: 如果需要链接的库在指定路径下已经存在,且不需要查找系统库,可以使用link_libraries包含目录后用target_link_directories链接库的方式。如果需要查找系统库或者需要通过设置环境变量增加搜索路径,可以使用find_library查找库后用target_link_directories...
通过命令include_directories来设置头文件的搜索目录,比如: include_directories(src/c) 二 编译目标文件 一般来说,编译目标(target)的类型一般有静态库、动态库和可执行文件。 这时编写CMakeLists.txt主要包括两步: 编译:确定编译目标所需要的源文件 链接:确定链接的时候需要依赖的额外的库 下面以开源项目(cmake-tem...
CMakeLists.txt文件,如下所示: 1 #1.cmake verson,指定cmake版本 2 cmake_minimum_required(VERSION 3.2) 3 4 #2.project name,指定项目的名称,一般和项目的文件夹名称对应 5 PROJECT(test_sqrt) 6 7 #3.head file path,头文件目录 8 INCLUDE_DIRECTORIES( 9 include 10 ) 11 12 #4.source directory,...
include_directories(src/c) 1. 二 编译目标文件 一般来说,编译目标(target)的类型一般有静态库、动态库和可执行文件。 这时编写CMakeLists.txt主要包括两步: 编译:确定编译目标所需要的源文件 链接:确定链接的时候需要依赖的额外的库 下面以开源项目(cmake-template)来演示。项目的目录结构如下: ...
最后,我们使用target_include_directories命令添加了头文件路径。你可以替换include为你项目的实际头文件路径。 这样,你就可以根据需要在Linux和Windows上构建你的项目了。在Linux上,你可以使用以下命令进行构建: mkdir build cd build cmake .. make 在Windows上,你可以使用以下命令进行构建: ...
src 中的 CMakeList.txt 文件 include_directories(${PROJECT_SOURCE_DIR}/libhello) set(APP_SRC main.c) add_executable(hello ${APP_SRC}) target_link_libraries(hello libhello) libhello 中的 CMakeList.txt 文件 set(LIB_SRC hello.c)
CMakeLists.txt文件示例: cmake_minimum_required(VERSION 2.8 FATAL_ERROR) project(pcd_write) find_package(PCL 1.2 REQUIRED) include_directories(${PCL_INCLUDE_DIRS}) link_directories(${PCL_LIBRARY_DIRS}) add_definitions(${PCL_DEFINITIONS})add_executable (pcd_write pcd_write.cpp) ...
INCLUDE_DIRECTORIES(${INC_DIR}) #包含的头文件目录 LINK_DIRECTORIES(${LINK_DIR}) #链接静态库目录 AUX_SOURCE_DIRECTORY(./src SRC_DIR) #源文件目录 ADD_EXECUTABLE(${PROJECT_NAME} ${SRC_DIR}) TARGET_LINK_LIBRARIES(${PROJECT_NAME} a) ...
3.14,target_include_directories 3.15,target_link_libraries 3.16,link_directories 3.17,add_...