g++ 编译选项的问题。。。。

xengine-qyt 2011-10-14 10:04:28
我在写SO模块的时候,有没有什么编译选项可以把调用的 .a文件一起编译进去。。。

比如说 我的so 使用了 lib.c.so 和 libstdc++.so 。。。我看了下 libstdc++ 有静态库文件,可以加上 -static
但是我不可能每次有需要的库都自己写加上把,可以不可以有什么编译选项自动加载所有使用到的.a
而不用自己一个一个去写makefile的。。。
...全文
141 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xunxun 2011-10-21
  • 打赏
  • 举报
回复
难道你不可以加入-static-libstdc++ 吗?
gcc4.5以上有效
xengine-qyt 2011-10-21
  • 打赏
  • 举报
回复
哦 明白了
shenyan008 2011-10-21
  • 打赏
  • 举报
回复
这个做不到,编译器只能做到指定的目录列表中去查找文件,不能通过符号来找到对应的库;
xengine-qyt 2011-10-20
  • 打赏
  • 举报
回复
没人咯,是不是必须 -static 要一个一个指定 .a库 才能全部编译进我的SO?
xengine-qyt 2011-10-17
  • 打赏
  • 举报
回复
LS的高手 来 你写个例子出来看看吧!
qq120848369 2011-10-15
  • 打赏
  • 举报
回复
你得编译几个程序啊, -static -lxxx 只在链接时才用一次, 谁告诉你编译也得用了?
Linux-Torvalds 2011-10-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 loaden 的回复:]

链接阶段的ar才干这个事吧?
[/Quote]是ld,不是ar。
xunxun 2011-10-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 loaden 的回复:]

链接阶段的ar才干这个事吧?
[/Quote]
ar不是链接阶段的哦,就是个打包工具……
「已注销」 2011-10-15
  • 打赏
  • 举报
回复
链接阶段的ar才干这个事吧?
xunxun 2011-10-15
  • 打赏
  • 举报
回复
不能

DSO和DLL不同,允许链接有未定义符号,这部分在运行时处理

23,223

社区成员

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

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