在Windows环境下,程序的编写需要用到头文件,程序的编译需要库文件 lib 文件,程序的运行需要 dll 文件,因此 cmake 引入第三方库其实就是将include目录、lib目录引入工程。引入第三方库的方式分为两种: 手动引入:通过 include_directories 或 link_directories 手动引入相关头文件和库文件路径 批量引入:先使用 find_...
1. 确定第三方库的安装路径 首先,你需要知道第三方库的安装位置,包括头文件(.h 或.hpp 文件)所在的目录和库文件(如 .lib、.a、.so 或.dylib 文件)所在的目录。 2. 在CMakeLists.txt中添加库的查找路径 使用include_directories 指定头文件路径,使用 link_directories 指定库文件路径(虽然这种方法在现代CMake...
其中,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(...
案例:使用tbb这个第三方库 方法一:直接链接tbb 直接链接 tbb 的缺点 方法二:直接写出全部路径,但是太硬核 方法三:使用find_package(更通用) TBB::tbb 的秘密:自带了一些 PUBLIC 属性 和古代 CMake 做对比:为什么 PUBLIC 属性的传播机制如此便利 和find_package(TBB CONFIG REQUIRED) 有什么区别? /usr/lib/cma...
编写CMakeLists 引用my_math自定义库 引用第三方库 项目编译 项目地址 参考资料 在工作中,经常要在项目中将一部分代码逻辑封装成自定义库,方便在项目不同地方调用。同时,也会在项目中引用一些开源的三方库。这里以自定义的共享库my_math和知名开源格式化输出库fmt为例,分别介绍如何利用CMake引入自定义库和第三方库...
在实际的软件开发中,引入第三方库是一种常见的需求,而CMake在处理第三方库的引入过程中也有着一些最佳实践。 一、选择合适的引入方式 在CMake中,引入第三方库的方式有多种,常见的包括使用find_package命令、使用add_subdirectory命令、使用ExternalProject_Add命令等。在选择引入方式时,需要根据具体的库的特点以及项目...
程序的编写需要用到头文件,程序的编译需要lib文件,程序的运行需要dll文件,因此cmake引入第三方库其实就是将include目录、lib目录、bin目录引入工程。 目录 1、find_package(批量引入库文件和头文件) 2、include_directories(引入头文件目录) 3、link_directories(引入库文件目录到当前工程) ...
要在CMake中添加第三方库,可以按照以下步骤操作:1. 首先确保第三方库已经被安装在系统中,或者将其包含在项目的源代码中。2. 在CMakeLists.txt文件中使用`find_packa...