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

[cmake]添加依赖库的两种方式:从源码编译和使用已编译好的库

阅读更多

源码编译依赖库

示例,假设构建生成的可执行文件为zipapp,该文件依赖第三方库archive,链接archive库时从源码编译生成lib:

 

add_library(archive archive.cpp zip.cpp lzma.cpp)
add_executable(zipapp zipapp.cpp)
target_link_libraries(zipapp archive)

参考自官方文档:

https://cmake.org/cmake/help/v3.5/manual/cmake-buildsystem.7.html#binary-targets

 

使用预先编译好的依赖库

示例,假设我们已经生成好的库叫mylib.so,位置在../lib目录下,构建生成的可执行程序叫myapp,它引用了mylib.so

link_directories(../lib)
add_executable(myapp myapp.cpp)
target_link_libraries(myapp mylib)

参考自:

http://stackoverflow.com/questions/8774593/cmake-link-to-external-library

 

分享到:
评论

相关推荐

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

    本文将详细讲解两种添加依赖库的方法:从源码编译和使用已编译好的库。 ### 从源码编译依赖库 当你的项目需要一个第三方库,而该库还没有预编译版本时,你需要从源码编译。下面是一个基本的流程: 1. **获取源码*...

    cmake-3.6.3和cmake-3.12.2源码

    这两个源码包允许你在Linux环境下从源代码编译并安装CMake,这对于自定义配置或在没有预编译二进制可用的情况下非常有用。 描述中提到的"在Linux下编译安装cmake",这个过程通常包括以下步骤: 1. 解压源码包:使用...

    gdal.zip 经过cmake编译适用于vs2017

    5. **编译与链接**:使用生成的构建文件在Visual Studio中打开并编译项目,CMake会处理好所有库的链接和路径问题。 **VS2017知识点:** 1. **Visual Studio 2017**:Microsoft的集成开发环境(IDE),支持C++开发,...

    arm-none-linux opencv 交叉编译所需依赖库

    在标题和描述中提到的“arm-none-linux opencv 交叉编译所需依赖库”,是指为了在ARM平台上编译OpenCV,我们需要确保正确安装和配置一系列依赖库。以下是对这些依赖库的详细说明: 1. **libjpeg**:这是一个用于...

    cmake 编译

    在标题和描述中提到的“cmake编译”,主要指的是使用CMake来编译PCL(Point Cloud Library)库或QT(Qt Application Framework)这样的项目。PCL是一个大型的开源库,用于处理3D点云数据,而QT则是一个广泛使用的...

    libmodbus windows下使用的两种方式源码,一种是直接加入vs工程,工程代码在资源里,另外一种是编译dll和lib库

    本文将深入探讨在Windows操作系统下,如何利用libmodbus进行开发,主要介绍两种方法:直接将源码加入Visual Studio工程以及编译动态链接库(DLL)和静态库(LIB)。 一、直接加入VS工程 对于开发者来说,最直接的...

    cmake编译opencv3.4.0,适用vs2015x86,release和debug

    本文将详细介绍如何使用CMake在Visual Studio 2015(VS2015)上编译OpenCV 3.4.0,适用于x86架构,并创建Release和Debug两种配置。 **CMake简介** CMake是一种跨平台的开源构建系统,它能够生成特定平台的构建文件...

    带cmake支持的protobuf2.6.1源码

    因此,这个带CMake支持的protobuf版本对于Caffe的开发者或使用者来说,可能是一个理想的依赖库。 压缩包文件名称“protobuf-2.6.1_with_cmake”直接指出了这个版本的特性,即protobuf 2.6.1版本并且集成了CMake支持...

    OpenCV第三方库和交叉编译工具

    通过这个压缩包,开发者可以快速获取OpenCV编译所需的关键组件,节省了寻找和安装各个依赖库的时间。同时,它也简化了交叉编译过程,使得在ARM设备上运行OpenCV变得更加便捷。对于那些致力于开发基于OpenCV的嵌入式...

    cmake-3.5.1和cmake-3.14.5.zip

    "cmake-3.5.1.tar.gz"和"cmake-3.14.5.tar.gz"是源码归档文件,它们包含了CMake源代码、文档、测试和其他资源。要使用这些源代码,首先需要解压文件,然后在适当的环境中编译和安装。对于Unix-like系统,通常使用tar...

    cmake与mk NDK源码.zip

    CMake提供了更强大的功能和灵活性,使得跨平台的构建变得更为简单,而Android.mk和Application.mk则是早期NDK构建的方式,现在已被CMake所取代。在实际开发中,理解并熟练运用CMakeLists.txt的编写,能够有效地提升...

    编译好的assimp

    在Windows环境下,开发者常常需要一个预编译好的assimp库来快速集成到自己的项目中,以避免自己从源码编译的复杂过程。本篇文章将详细介绍assimp库及其在Windows下的编译与使用。 1. **Assimp库功能** - **多格式...

    cmake3.10.1,Linux

    总的来说,CMake3.10.1的Linux版本为开发者提供了一种统一的方式来构建和管理项目,尤其在涉及到多个库和复杂依赖关系时,它的优势更加明显。通过熟悉和掌握CMake,开发者可以提高工作效率,减少构建错误,使项目在...

    cmake-3.11.4.tar.gz

    这两个是C++编译器和链接器,对于编译依赖C++的CMake项目至关重要。如果你的系统中没有这些,可以使用以下命令安装: ```bash sudo yum install gcc-c++ ``` 接下来,我们将详细讲解如何在CentOS 7上安装CMake ...

    Windows下编译和JSONCPP的使用入门

    - **依赖管理**: 使用外部工具如CMake可以帮助更好地管理依赖关系。 通过以上步骤,您可以在Windows环境下顺利编译并使用JSONCPP来处理JSON数据。这不仅能够提高数据处理的效率,还能够简化复杂的数据结构管理。

    windows下编译PTAM所需已编译好的libcvd,gvars库的相关内容

    如果你选择使用Visual Studio,你需要配置好C++项目设置,并启用C++11或更高版本的兼容性,因为PTAM和它的依赖库可能需要用到现代C++特性。 2. 获取源码:下载libcvd-20100511和gvars3.0的源代码。你可以从它们的...

    python3.6安装dlib,不用安装cmake

    dlib是由戴维·坎贝尔(Davis King)开发的一个开源库,它支持C++和Python两种编程语言。dlib的核心功能包括机器学习算法(如支持向量机、决策树、随机森林)、图像处理工具、图形模型以及优化算法等。在计算机视觉...

    OpenMC程序的编译与安装1

    本文主要针对OpenMC程序(0.10.0版本)在Ubuntu 18.04操作系统上的编译与安装进行详述,涵盖两种方法:conda-forge安装法和源码编译安装法。 **3.1 编译方法介绍** ### 3.1.1 Conda-forge安装方法 1. **下载与...

    hadoop源码编译.doc|hadoop源码编译.doc

    此外,还需要安装一系列依赖库,包括gcc、gcc-c++、cmake、openssl-devel、ncurses-devel、autoconf、automake和libtool,这些库对于编译过程中的编译器支持和库链接至关重要。 接下来,我们从GitHub上下载Hadoop的...

    jsoncpp 编译库VS2010,动态库,静态库

    本资源包含了在Visual Studio 2010环境下编译的jsoncpp库,分为静态库和动态库两种形式。这两个版本的库各有其应用场景和优缺点: 1. **静态库(static_lib_compiled_vs2010)**: 静态库是将库代码与你的程序代码...

Global site tag (gtag.js) - Google Analytics