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

cmake3.x构建生成静态链接库和动态链接库的方法

阅读更多

 

CMakeLists.txt写法示例,假设生成的lib名字为archive:

 

动态库

add_library(archive SHARED archive.cpp zip.cpp lzma.cpp)

 

静态库

add_library(archive STATIC archive.cpp zip.cpp lzma.cpp)

 

官方文档:

https://cmake.org/cmake/help/v3.0/manual/cmake-buildsystem.7.html#binary-library-types

 

 

分享到:
评论

相关推荐

    opencv arm编译cmake配置后生产的CmakeCache.txt

    - **描述**:该选项用于指定是否构建共享库(动态链接库)。 - **取值说明**: - `ON`:构建共享库(默认)。 - `OFF`:构建静态库。 - **应用场景**:通常情况下,构建共享库会使得最终的应用程序体积更小且更...

    cmake-3.29.2-windows-x86-64

    对于C++项目,CMake能够处理库的静态/动态链接、多配置(如Debug和Release)、头文件搜索路径、编译标志等复杂问题。同时,CMake支持版本控制工具集成,如Git,以及持续集成服务器,如Jenkins,使得自动化构建和测试...

    cmake 生成静态库和动态库.txt

    在实际的CMake构建过程中,还会涉及到其他的命令和变量,比如`include_directories()`命令可以添加头文件的搜索路径,`target_link_libraries()`可以将库链接到目标可执行文件或另一个库。CMake的构建过程是非常灵活...

    cmakelists 生成静态库,然后用静态库生成动态库,然后生成测试程序

    本篇将深入探讨如何使用CMakeLists来生成静态库、动态库,并创建测试程序进行验证。 首先,我们要理解静态库和动态库的区别。静态库(.a 或 .lib)是在编译时将库代码直接嵌入到目标程序中,形成一个完整的可执行...

    CMakeList.txt编写技巧

    3. **add_executable** 和 **add_library**: 分别用于创建可执行文件和静态/动态库。需要提供目标名称和源文件列表。 4. **include_directories**: 添加包含路径,让编译器知道在哪里查找头文件。 5. **target_...

    cmake-3.20.5-windows-i386.zip

    4. `lib` 目录:包含了CMake运行时所需的动态链接库和静态库。 5. `include` 目录:提供了CMake的头文件,如果你在编写CMake的扩展或者自定义模块,这些头文件可能会用到。 安装CMake时,通常需要将`bin`目录添加到...

    cmake-3.19.4-win64-x64.zip

    3. `lib`目录:包含CMake的动态链接库文件。 4. `doc`目录:文档和帮助文件,供用户参考。 5. `LICENSE`和`README`文件:提供许可协议和使用说明。 在实际开发中,利用CMake进行项目构建时,开发者首先创建一个...

    CMake实战.pdf

    `SETMESSAGE`用于设置和显示变量,`ADD_EXECUTABLE`用于创建可执行文件,`ADD_LIBRARY`用于创建库(静态库或动态库),`INSTALL`指令用于指定安装目标,`FIND_PACKAGE`或自定义的`Find<Package>.cmake`模块用于查找...

    cmake-3.19.8-win64-x64.zip

    3. **lib目录**:包含了CMake的动态库和静态库文件。 4. **doc目录**:可能包含CMake的文档,如HTML格式的帮助文件。 5. **cmake-gui.exe**:一个图形界面工具,用户可以通过它可视化地配置和生成项目。 安装CMake...

    cmake-3.29.3-windows-x86-64

    总的来说,"cmake-3.29.3-windows-x86_64"是为Windows 64位用户准备的CMake构建工具,它简化了多平台项目构建的复杂性,尤其是对于C++开发者而言。通过理解和使用CMake,开发者能够更有效地管理和构建他们的软件项目...

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

    动态库(.dll)则是在运行时被加载的,程序运行需要对应的动态链接库文件。动态库可以节省磁盘空间和内存,但需要确保运行环境中存在相应的库文件。 在VS2022中配置CMake工程,首先需要安装CMake支持。打开VS2022,...

    cmake-3.22.5

    CMake是一个跨平台的开源构建系统,用于管理软件构建过程。...使用CMake时,用户需要编写`CMakeLists.txt`文件来定义构建规则,并在目标平台上运行CMake生成构建系统文件,从而实现软件的编译和链接。

    cmake_tutorial.zip

    在CMake中,链接库分为静态库和动态库。 1. **链接静态库**:使用`target_link_libraries`命令,添加`-l`前缀后跟库名。例如,若库名为libfoo.a,命令为`target_link_libraries(my_target -lfoo)`。 2. **链接动态...

    [CMake教程] 生成链接库

    本教程将详细介绍如何使用CMake生成链接库,无论是动态链接库(.dll 或 .so)还是静态链接库(.lib 或 .a)。 首先,我们来看一个简单的项目结构,包含两个文件:hello.c 和 CMakeLists.txt。hello.c 是一个简单的...

    cmake-3.25.1-windows-x86-64.mis

    7. **编译配置**:CMake提供了丰富的编译选项,如调试/发布模式、多线程支持、动态/静态链接等,可以灵活调整。 CMake-3.25.1版本是CMake的一个稳定版本,可能包含了一些新特性、改进和错误修复,比如: - 提高了...

    cmake-3.24.0.tar.gz

    在C++开发中,CMake特别有用,因为它可以为不同的编译器(如GCC、Clang或MSVC)生成构建文件,同时支持静态和动态库的构建,以及多配置(如Release和Debug)。此外,它还可以与Git、Subversion等版本控制系统配合,...

    cmake-3.22.1.tar.gz

    此外,CMake还支持生成静态库、动态库、可执行文件,以及单元测试(通过CTest模块)和覆盖率报告。 CMake的另一个优点是其强大的社区支持,有很多预先定义好的模块(如`FindXXX.cmake`文件)可以帮助找到并配置第三...

    CMakeDemo.zip

    例如,`add_executable()`用于添加可执行程序,`add_library()`用于创建静态或动态库,而`target_include_directories()`和`target_link_libraries()`则用于指定头文件路径和链接依赖库。 4. **subdll**:这可能是...

    cmake-3.14.0.tar.gz

    3. **目标与依赖**:CMake通过目标(Target)来管理构建单元,目标可以是可执行文件、静态库或动态库。目标之间可以设置依赖关系,确保编译顺序正确。 4. **配置与生成**:在源码目录下运行`cmake ..`(假设你在...

    VScode C/C++配置文件及CMake工程.rar

    3. **CMake工程设置**:在CMakeLists.txt中,你可以使用`add_executable`命令添加可执行文件目标,`add_library`添加静态或动态库,以及`target_link_libraries`连接所需的库。CMake也支持条件编译,例如通过`if`...

Global site tag (gtag.js) - Google Analytics