关于linux编译链接库问题

具体的需求是利用第三方的库,自己生成一个自己的库,在自己的N个产品项目中都可以使用这个库。也就是

third.lib, third.h   -> common.lib   -> app.exe


本文是记录一些实际操作,并不能得出什么结论,反而会抛出一些问题(楼楼菜鸟一个)。


1.利用第三方库编译自己的库,有两种情况:

   a. cmake中 包含所有的与自己库相关的cpp/hpp 文件时;

   b.cmake中只包含第一个cpp文件;

  这两种情况都能编译出自己的库,区别是:

 在编译自己的app时,需要链接自己的库,链接a情况下的库,需要包含所有的头文件,并且在链接 third.a  common.a时,要注意

越基础的库越放后,因为third.a是common.a的基础,所以 target_link_libraries(test ${PROJECT_SOURCE_DIR}/common.a ${PROJECT_SOURCE_DIR}/third.a)


在b情况下去链接自己的库,即使包含了所有的头文件,也编译失败,还需要包含所有的cpp文件,但是这样就失去了生成common库的意义了。


2.其实是想达到这样的效果:其他任何的项目,用到common.a时,只需要有一个头文件即可,而不是把所有跟common相关的头文件都加进来。

还在继续研究中,如果有了解的,请留言解答,谢谢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值