Chinaunix
标题:
静态库可以再包含静态库吗?
[打印本页]
作者:
chengdot
时间:
2010-01-06 18:10
标题:
静态库可以再包含静态库吗?
我用 ar 命令把一个 .o 文件和 libA.a 打包成一个 libB.a;
再把 libB.a 与目标代码连接生成可执行程序的时候,提示无法连接 libA.a 内的对象;
用 objdump 查看 libB.a,显示 libA.a 是未知格式,估计是把 libA.a 当成了普通的 .o 文件,
那么,是否有办法把 libA.a 打包到 libB.a 中呢?
我不想带着那么多的静态文件。
谢谢。
作者:
chengdot
时间:
2010-01-07 08:58
我顶
作者:
drowndog
时间:
2010-01-07 09:36
一个应用,在链接时如果使用了静态库,那么,静态库中的内容会完全被放到应用中来,在发行时就没必要再带上库了啊。不知道你为何有这样的疑问。
作者:
克拉玛依
时间:
2010-01-07 09:38
如楼上所说,如果连接了动态库则需要在运行时载入。
对应用来说就是一个符号二一
作者:
chengdot
时间:
2010-01-07 09:45
标题:
回复 #3 drowndog 的帖子
我所说的“我不想带着那么多的静态文件。”并非指运行时带着,而是编译/链接时也不想带得太多。
如果 libA.a 和 libB.a 本身就一定是一起使用的,我就只想有一个 libB.a 就可以了。
作者:
克拉玛依
时间:
2010-01-07 09:46
标题:
回复 #5 chengdot 的帖子
当然可以
作者:
snow888
时间:
2010-01-07 09:51
标题:
回复 #5 chengdot 的帖子
把 libA.a 展开,然后重新打包 .
作者:
chengdot
时间:
2010-01-07 10:10
标题:
回复 #7 snow888 的帖子
再请问:如何展开?
作者:
chengdot
时间:
2010-01-07 10:20
其实不用展开,直接 ar r libA.a b*.o 可以追加 .o 到 .a 中,
谢谢各位。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2