c/c++ | 静态链接、动态链接

92 篇文章 0 订阅
本文讨论了开发过程中动态库与静态库链接的常见问题,如链接参数设置、不同环境下的兼容性,以及如何处理静态库依赖。提供了解决方案,包括正确使用-static参数和调整链接路径。
摘要由CSDN通过智能技术生成

正如标题所见,我们就来讲讲开发时遇到的一些问题,以及解决方案

这里不介绍动态库、静态库的生成与调用,

无论是静态库还是动态库,都是在编译项目的时候链接器会根据编译命令去调用的
如果直接把库(动态、静态不论)绝对路径写上,就不用管 要不要加上 -static 参数,
默认情况 编译器是动态链接的
当加入 -static 参数时,就成了静态链接,通常我们可能既有静态库又有动态库需要同时链接,这个时候,就不要添加 -static 参数
会出现 混淆,如果你的环境只有某一个静态库 但是其他的库都是动态库,在链接的过程会出现

形如,这样的问题
在这里插入图片描述
解决方案是,要么乖乖把其他的同名静态库装好

#如
centos8 dnf -y install libstdc++-static

或者,把参数 -static 去掉,然后把需要的静态库用绝对路径补全。

#如
g++ ${source} -o out -lphread -lrt /xxx/xxx/test.a

centos7/8
注意,现在你在安装包的服务器上下好的包,环境都会帮你配好,
都在 /usr/lib64 可以找到

参考1
参考2

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值