其中,your_target_name是你的项目目标名称,如可执行文件或库文件。注意,这里不需要添加库文件的后缀(如.a或.lib),因为CMake会自动根据目标平台选择合适的库文件。 完整示例 下面是一个完整的CMakeLists.txt文件示例,演示了如何引入一个名为libthird_party的第三方库: cmake_minimum_required(VERSION 3.10) project...
一、find_package引入 二、pkg-config引入 三、git工程引入 四、头文件+库文件(.h + lib)引入 五、编译命令 一、find_package引入 # CMakeLists.txtcmake_minimum_required(VERSION3.10)project(FindLibInCmake)add_executable(main.out src/main.cpp)find_package(SDL2 REQUIRED)# 指定库的版本#find_package(...
在CMake中引入第三方动态库(DLLs或.so文件,取决于操作系统)通常涉及几个关键步骤。以下是一个详细的指南,帮助您完成这个过程: 1. 确定要引入的第三方动态库及其路径 首先,您需要知道第三方动态库的文件名(例如libthirdparty.so或thirdparty.dll)以及它所在的路径(例如/path/to/library)。 2. 编写CMakeLists.txt...
链接库文件:使用target_link_libraries()函数来链接库文件。你需要提供目标(即你的可执行文件或库)和要链接的库名。例如: target_link_libraries(my_executable mylibrary) 注意,如果你的库文件是静态库(.a或.lib文件),你可能需要告诉CMake库文件的位置。你可以使用link_directories()函数来实现这一点,但更好的...
程序的编写需要用到头文件,程序的编译需要lib文件,程序的运行需要dll文件,因此cmake引入第三方库其实就是将include目录、lib目录、bin目录引入工程。 目录 1、find_package(批量引入库文件和头文件) 2、include_directories(引入头文件目录) 3、link_directories(引入库文件目录到当前工程) ...
编写CMakeLists 引用my_math自定义库 引用第三方库 项目编译 项目地址 参考资料 在工作中,经常要在项目中将一部分代码逻辑封装成自定义库,方便在项目不同地方调用。同时,也会在项目中引用一些开源的三方库。这里以自定义的共享库my_math和知名开源格式化输出库fmt为例,分别介绍如何利用CMake引入自定义库和第三方库...
案例:使用tbb这个第三方库 方法一:直接链接tbb 直接链接 tbb 的缺点 方法二:直接写出全部路径,但是太硬核 方法三:使用find_package(更通用) TBB::tbb 的秘密:自带了一些 PUBLIC 属性 和古代 CMake 做对比:为什么 PUBLIC 属性的传播机制如此便利 和find_package(TBB CONFIG REQUIRED) 有什么区别? /usr/lib/cma...
一.Cmake引用第三方库 1.把第三方库的源码作为子模块添加 ①使用场景1 对于一些小型的第三方库,可以直接把第三方源码作为Cmake项目的一个子模块来使用。子模块就是一个包含Cmakelist.txt的源代码文件夹。 编译Cmake项目的时侯会先编译出一个第三方源码库,在链接到可执行文件中。
{CMAKE_CURRENT_SOURCE_DIR}/lib) set(LIBUV_PATH 3rdpart/libuv-1.x) # 将第三方库头文件路径加入项目 include_directories(${LIBUV_PATH}/include) # 将第三方库加入项目,作为子项目 add_subdirectory(${LIBUV_PATH}) add_executable(${PROJECT_NAME} "main.cpp") # 链接第三方库 target_...