cmake之 ADD_LIBRARY()
上一篇我分析了如何调用别人的第三方库,现在我继续分析如何构建一个库供他人使用。完成这个任务需要用到ADD_LIBRARY()
1:ADD_LIBRARY()语法
add_library(<name> [STATIC | SHARED | MODULE][EXCLUDE_FROM_ALL]source1 [source2 ...])
:库的名字,直接写名字即可,不要写lib,会自动加上前缀的哈。
[STATIC | SHARED | MODULE] :类型有三种。
SHARED,动态库STATIC,静态库MODULE,在使用 dyld 的系统有效,如果不支持 dyld,则被当作 SHARED 对待。
EXCLUDE_FROM_ALL:这个库不会被默认构建,除非有其他的组件依赖或者手
2:使用
SET(LIBHELLO_SRC hello.c)
ADD_LIBRARY(hello SHARED ${LIBHELLO_SRC})
ADD_LIBRARY(hello_static STATIC ${LIBHELLO_SRC})
3:注意,一般我们使用的静态库/动态库只是后缀名不同而已,上面构建的libhello.so与libhello_static.a,显然名字不同哦。这时你会有一个想法,那我把hello_static改成hello,结果是不可行的,静态库无法构建。重名会忽略第二条指令。
SET_TARGET_PROPERTIES(hello_static PROPERTIES OUTPUT_NAME "hello")
4:关于动态库的版本号
#VERSION 指代动态库版本,SOVERSION 指代 API 版本。
SET_TARGET_PROPERTIES(hello PROPERTIES VERSION 1.2 SOVERSION 1)
link
cmake之 ADD_LIBRARY()相关推荐
- cmake:add_library生成静态库和动态库
此文为:轻松入门cmake系列教程 有时我们只需要编译出动态库,静态库,然后等着让其它程序去使用.让我们看下这种情况该如何使用cmake 实验 实验一:生成静态库 编写代码 项目结构如下: [CMak ...
- Linux下CMake简明教程(六)动态库和静态库的编译控制
代码在git 有时只需要编译出动态库和静态库,然后等着让其它程序去使用.让我们看下这种情况该如何使用cmake.首先按照如下重新组织文件,只留下testFunc.h和TestFunc.c ├── CM ...
- linux make指定目标平台,CMake on Linux:目标平台不支持动态链接
我很简单 CMakeLists.txt CMAKE_MINIMUM_REQUIRED(VERSION 2.8) FIND_PACKAGE(VTK REQUIRED) PROJECT(test CXX) ...
- 学习CMake(一)
首先要知道的几个重要命令 # https://cmake.org/cmake/help/v3.14/find_file() 重点:找到文件的全路径(包含文件名)(查找需要全称),默认路径是CMAKE_ ...
- cmake 从入门到入土
为什么需要CMake 你或许听过好几种 Make 工具,例如 : GNU Make QT 的 qmake 微软的 MS nmake BSD Make(pmake)Makepp 这些 Make 工具遵循 ...
- cuda lib64和stubs目录下存在同名so 引起cmake错误
错误提示 CMake Warning at cmake/FindCUDA.cmake:1649 (add_library): Cannot generate a safe runtime sear ...
- 腾讯以及各大厂的 C++ 开发环境是什么样的?
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|深度学习与计算机视觉 看网上各种 editor.IDE ...
- Android音视频开发入门(5)使用LAME编码一个PCM文件,为了跳槽强刷1000道Android真题
无论是自行安装PC上的编译器,还是下载其他平台的交叉编译链,它们都会提供下面几个工具: CC 编译器,对C源文件进行编译处理,生成汇编文件 AS 将汇编文件生成目标文件 AR 打包器,用于库操作 LD ...
- PX环境搭建编译px4_fmu-v2_default相关问题的解决方法
背景说明 笔者在ubuntu18.04下搭建PX环境时git clone的是较新版本的PX4-Autopilot链接在此.(而目前网上的教程基本是较老版本的Firmware,两者文件分布不相同,所以已 ...
最新文章
- 最小二乘法多元线性回归_回归系列(二)| 最小二乘法真有那么复杂吗?
- 近世代数--置换群--置换permutation分解成什么?置换的级如何计算?
- HTTP协议和web工作原理
- Spring Session官方介绍及spring框架学习方法
- hive load data inpath 空目录_hive学习笔记之四:分区表
- rsa 2048 java_使用SHA-256和RSA 2048进行加密和签名
- C++开发需要掌握哪些技能?
- 1085 Perfect Sequence(25 分)
- 华为鸿蒙系统电脑有那些,华为鸿蒙系统上线,仅2家国产品牌支持,爆冷?
- 信息论与编码冯桂周林著答案_信息论与编码技术+(冯桂+林其伟+陈东华+著)+清华大学出版社+课后答案.pdf...
- java计算机毕业设计医院各科室财务管理2021源码+系统+mysql数据库+lw文档
- Palabos User Guide中文解读 | 第十四章 | 网格加密Refinement
- 阿里云函数计算(一)
- gomarket服务器位置,V712双核版机型常见问题集解答.pdf
- 宝宝专业智力测试软件,宝宝智力测试 App—儿童智力测试
- 请你帮我一起转到全中国
- WIF调试分享(ap6256)
- 极客爱情 2.2 | 程序员是这样撩妹的
- 文本数据挖掘----数据预处理
- HDU 5750 快速筛素数法打表