`
aigo
  • 浏览: 2567789 次
  • 性别: Icon_minigender_1
  • 来自: 宜昌
社区版块
存档分类
最新评论

[cmake]如何使用通配符同时添加多个lib库文件依赖

阅读更多

 

比如boost有很多库,如果都要引用,最原始的方法就是一个一个添加:

target_link_libraries(${TARGET} PRIVATE
  "${BOOST_PATH}/libboost_filesystem.a"
  "${BOOST_PATH}/libboost_system.a"
  "${BOOST_PATH}/libboost_chrono.a"
  ...
)

 

cmake提供的通配符方法:

file(GLOB LIBS "${BOOST_PATH}/libboost*.a")
target_link_libraries(${TARGET} PRIVATE ${LIBS})

 

参考自:

http://stackoverflow.com/questions/24993672/how-to-use-cmakes-target-link-libraries-to-link-libraries-matching-a-glob

 

 

分享到:
评论

相关推荐

    CMake添加引用多个子目录多个CMakeLists同时编译

    "CMake添加引用多个子目录多个CMakeLists同时编译"的主题旨在教你如何有效地组织项目结构,并使用CMake来处理复杂的多目录工程。下面将详细介绍如何实现这一目标。 首先,一个CMake项目通常由一个顶级的`CMakeLists...

    [cmake]添加依赖库的两种方式:从源码编译和使用已编译好的库 - 玄冬Wong - ITeye技术网站1

    - 在多平台环境中,注意区分不同平台的库文件格式,例如Windows上的.dll与Linux上的.so。 - 对于跨平台项目,使用`find_package()`函数可以自动查找库,例如`find_package(archive REQUIRED)`,这简化了不同平台的...

    cmake 构建多文件多目录项目教程

    在 cmake 中,可以使用以下函数来管理头文件路径、库路径和库文件路径: * include_directories:用来添加头文件路径 * LINK_DIRECTORIES:用来添加库路径 * target_link_libraries:用来添加库文件路径 五、cmake...

    windows下Qt6 使用CMake 安装时自动拷贝Qt及其他依赖文件

    3. **复制Qt库和资源文件**:为了在目标机器上运行程序,你需要把Qt库文件和依赖的动态链接库一起打包。可以使用CMake的`file(GLOB ...)`命令收集需要的文件,然后使用`install(TARGETS ... COPY_FILE ...)`或者`add...

    cmake添加多个ui文件模板

    cmake添加多个ui文件模板

    dlib-18.16(cmake编译的x86和x64 lib文件).rar

    标题中提到的“dlib-18.16(cmake编译的x86和x64 lib文件).rar”是一个压缩包,其中包含了使用cmake构建工具编译生成的dlib-18.16库文件。cmake是一个跨平台的构建系统,用于管理项目的构建过程,它允许开发者编写...

    cmake 指定输出路径和生成多个so案例

    本文将深入探讨如何使用CMake指定输出路径以及生成多个动态链接库(SO,即Shared Object,在Linux环境下)的案例。 一、CMake基础 CMake是一个开源的构建工具,它不直接构建项目,而是生成特定平台的构建系统,如...

    Android Studio NDK 使用Cmake指定输出路径和生成多个so案例

    本篇文章将深入探讨如何在Android Studio中使用CMake指定输出路径以及生成多个共享库(.so文件)的案例。 首先,我们了解CMake的基本概念。CMake是一种跨平台的开源构建系统,它能够生成各种编译器的项目文件,如...

    离线 cmake 依赖包

    它们可能包括CMake的库文件、头文件以及必要的脚本,这些是构建和运行CMake项目所必需的。 CMake的使用步骤通常如下: 1. **配置阶段**:在项目的根目录下创建一个`CMakeLists.txt`文件,这个文件会定义项目的构建...

    CMake导入so文件

    在Android开发中,JNI(Java Native Interface)是一种技术,允许Java代码和其他语言写的代码进行交互。...这个过程使得在Android项目中使用C++代码和第三方库变得简单,同时也提供了跨平台的兼容性。

    Android Studio 基于cmake 链接静态库,动态库

    动态库(如.so或.dll文件)则在运行时加载,可以被多个程序共享,减少内存占用,但需要确保运行环境中有相应的库文件。 要将CMake引入Android Studio项目,需要在项目的`build.gradle`(Module级别)文件中添加以下...

    Android CMakeLists生成多个so文件

    同时,确保在Android Studio的build.gradle文件中正确配置NDK构建设置,以便CMake能顺利运行并生成所需的库文件。这在开发需要使用C++代码的Android应用时非常有用,能够实现更高效、更灵活的代码组织和管理。

    基于Cmake编译Qt第三方库-Opencv库及其在Qt的配置【2020-09-16】

    本文旨在详细介绍如何通过Cmake工具为Qt5.12.0 mingw 64位版本编译Opencv 3.4.11,并解决编译过程中可能遇到的问题,以及如何在Qt环境中正确配置和使用这些编译后的库文件。 #### 二、准备工作 1. **Qt版本**:Qt...

    ffmpeglib_ffmpegcmake_ffmpeg.cmake_ffmpeglib_

    CMake是一个跨平台的构建系统,可以帮助开发者管理和构建项目,包括FFmpeg这样的复杂库。 本文将详细讲解如何使用CMake来编译OpenCV项目,并集成FFmpeg库。OpenCV是一个广泛使用的计算机视觉库,它在图像处理、机器...

    cmake创建多工程例子

    本篇文章将深入探讨如何使用`CMake`创建一个多工程的例子,结合`Qt`这一流行的图形界面库。 首先,我们要理解`CMake`的基本概念。`CMake`并不直接构建项目,而是生成特定平台的构建系统所需的文件,如Unix ...

    Zxing编译后库文件

    可在VS2017平台运行,文件附有相关将库文件链接到项目的使用说明 在VS工程中添加该库功能时,需要对项目属性进行相关匹配: 1、属性-》VC++目录-》库目录 添加该库lib文件夹。如:E:\zxing\lib 2、属性-》VC++目录-...

    vs2022+cmake工程 静态库+动态库演示

    静态库(.lib)在编译时会被链接到目标可执行文件中,形成一个独立运行的程序,无需在运行时依赖外部库文件。动态库(.dll)则是在运行时被加载的,程序运行需要对应的动态链接库文件。动态库可以节省磁盘空间和内存...

    cmake使用进阶版【多启动工程,多静态库链接】

    cmake使用进阶版【多启动工程,多静态库链接】,此cmake工程存在两个启动程序,也就是支持两个main函数存在,可以生成两个exe,并且能在windows和linux下运行,可跨平台使用,此博客是基于另一个博客进行改进的,...

    QT项目添加外部库详细步骤和例子

    外部库通常指的是由第三方提供的代码集合,这些代码集合被编译成库文件(如.so在Linux下或.dll在Windows下),然后可以在QT项目中被调用。这样做可以方便地引入一些通用的功能,避免重复造轮子,提高开发效率。 接...

    cmake编译静态库/动态库/可执行文件demo

    静态库会将所有依赖项合并到一个单一的库文件中,避免了运行时依赖性问题。 2. 动态库:同样使用`add_library()`,但指定`SHARED`关键字,如`add_library(mylib SHARED src/mylib.cpp)`。动态库在运行时被加载,...

Global site tag (gtag.js) - Google Analytics