博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(9)CMake入门笔记--同时生成动态库与静态库
阅读量:2172 次
发布时间:2019-05-01

本文共 981 字,大约阅读时间需要 3 分钟。

在cmake中,同时生成静态库与动态库的时候,需要一些技巧,因为cmake中不能生成同名的静态库和动态库,只能先生成不同名的库之后再把其中一个库的名字改名。

# 生成动态库目标add_library(MathFunctions SHARED ${srcs})# 生成静态库目标add_library(MathFunctions_static STATIC ${srcs})# 指定静态库的输出名称set_target_properties(MathFunctions_static PROPERTIES OUTPUT_NAME "MathFunctions")# 使动态库和静态库同时存在set_target_properties(MathFunctions PROPERTIES CLEAN_DIRECT_OUTPUT 1)set_target_properties(MathFunctions_static PROPERTIES CLEAN_DIRECT_OUTPUT 1)# 指定动态库版本# VERSION 动态库版本# SOVERSION API版本set_target_properties(person PROPERTIES VERSION 1.0 SOVERSION 1)# 将动态库与动态库同时安装到lib目录中install (TARGETS MathFunctions MathFunctions_static DESTINATION lib)

运行效果:

-rw-r--r-- 1 laolang users  5608 10月 12 02:25 MathFunctions.alrwxrwxrwx 1 laolang users    14 10月 12 02:25 MathFunctions.so -> MathFunctions.so.1lrwxrwxrwx 1 laolang users    16 10月 12 02:25 MathFunctions.so.1 -> MathFunctions.so.1.0-rwxr-xr-x 1 laolang users 10688 10月 12 02:25 MathFunctions.so.1.0

下面将完整的cmake教程工程链接如下:

在cmake环境下可以直接编译,方便学习

 

转载地址:http://nqhzb.baihongyu.com/

你可能感兴趣的文章
orcal 循环执行sql
查看>>
web.xml配置监听器,加载数据库信息配置文件ServletContextListener
查看>>
结构型模式之桥接模式(Bridge)
查看>>
行为型模式之状态模式(State)
查看>>
行为型模式之策略模式(Strategy)
查看>>
行为型模式之模板方法模式(TemplateMethod)
查看>>
行为型模式之访问者模式(Visitor)
查看>>
大小端详解
查看>>
source insight使用方法简介
查看>>
<stdarg.h>头文件的使用
查看>>
C++/C 宏定义(define)中# ## 的含义 宏拼接
查看>>
Git安装配置
查看>>
linux中fork()函数详解
查看>>
C语言字符、字符串操作偏僻函数总结
查看>>
Git的Patch功能
查看>>
分析C语言的声明
查看>>
TCP为什么是三次握手,为什么不是两次或者四次 && TCP四次挥手
查看>>
C结构体、C++结构体、C++类的区别
查看>>
进程和线程的概念、区别和联系
查看>>
CMake 入门实战
查看>>