永发信息网

一个工程中调用了动态链接库 怎么写cmakelists

答案:1  悬赏:30  手机版
解决时间 2021-02-01 08:45
一个工程中调用了动态链接库 怎么写cmakelists
最佳答案
在工程搭建时,可能会有将静态库链接成动态库的需求,如出于代码保护的角度,某些模块会发布.a扩展名的静态库,我们要将多个这样的静态库链接成一个动态库。但与直接link目标文件不同的是,ld以默认参数执行时,并把静态库中没有用到的函数过滤掉,导致生成的so并未包含所要的函数,因此要加上--whole-archive参数,以保证所有的函数都包含在生成的so中。
在使用cmake时,CMakeLists.txt的写法如下:
add_library(
${MODULE_NAME}
SHARED
${CMAKE_SOURCE_DIR}/builttime.c #要生成一个so,至少要包含一个源文件,实在没有可以把库的编译时间戳打到这儿。
)

target_link_libraries(
${MODULE_NAME}
${${MODULE_NAME}_EXTRA_LDFLAGS}
"-Wl,--whole-archive" #告诉编译器,从这里开始,所有的库的内容都包含到so中
${LOCAL_MODULES} #可以是以源代码生成的静态库
${PREBUILT_MODULES} #可以是预先生成的静态库
"-Wl,--no-whole-archive" #告诉编译器,从这里开始,以后的库的内容不用都包含到so中
)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
女孩说我回家了没有。我怎么回答
古代女子的房间摆设?
苹果6开机没反应一般是什么问题
河堤的意思是什么啊?知道的请说下!
在外市接听电话免费吗
在海边生活,如何保养皮肤
香港汇丰银行premier center可以办理一般的汇
唬通的意思是什么啊?知道的请说下!
植物组织培养过程中,接种前将胡萝卜用解剖刀
蟾酥多少钱一克
雪弗兰迈锐宝和帕萨特哪一款更皮实?
东莞比较有名的食品企业和酸奶企业
右乳腺导管内癌,TisNOMO, 0期,ER(80%),PR(20%
笔记本和台式机的内存条哪一个更贵
【漩】何为打漩现象?如何消除打漩现象。
推荐资讯
六地的意思是什么啊?知道的请说下!
江苏常州到浙江宁波宁海怎样坐车
儒客的意思是什么啊?知道的请说下!
驴腰子怎么去掉腥臊味
凌趠的意思是什么啊?知道的请说下!
做寒假工一个月,当时很谨慎啥都没有签字,现
阿华田国际餐饮版和超市卖的一样吗?
中国石化四川乐山马边加油站怎么去啊,我要去
灵关中学半期考试成绩单
我们公司的发电机尾气排放不达标,想做发电机
鼠绘百度网盘如何下载
有能人把川酒 五粮液 舍得 郎酒 剑南春 水井
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?