linux编译问题

冷风1023 2018-03-24 10:58:51
我在gcc4.4.7环境编译程序,link的.so库需要gcc4.8.5以上,后来我把4.8.5里的两个库libstdc++.a和libstdc++.so.6拷到本地,编译通过,也可以运行。有点不太明白,libstdc++.a和libstdc++.so.6这两个库不都是同一个库,只是一个是静态一个是动态,为什么需要两个呢,去掉一个libstdc++.a为什么不行呢?
...全文
686 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
rjw_999 2018-03-27
  • 打赏
  • 举报
回复
.a里面的是加载器吧,会编译到你的程序里 .so里的才是库函数真正的程序
冷风1023 2018-03-26
  • 打赏
  • 举报
回复
.so库是第三方的看不到,
ckc 2018-03-25
  • 打赏
  • 举报
回复
这两个库是编译连接时需要还是运行时需要? 可以用ldd 编译出来的结果看看是不是运行时需要 如果是运行时需要,猜测是不是一部分用了动态一部分用了静态 你可以检查一下makefile,看能不能发现点什么
冷风1023 2018-03-24
  • 打赏
  • 举报
回复
或者有没有办法把这两个系统库编译成一个.so库呢?

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧