首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用gcc4将静态库(档案)链接到空的动态库

如何使用gcc4将静态库(档案)链接到空的动态库
EN

Stack Overflow用户
提问于 2010-06-08 13:43:36
回答 1查看 113关注 0票数 0

大家好!

我在linux上使用gcc创建了一个共享库。该库本身没有代码,但链接到几个也是使用gcc构建的静态库(档案)。我需要通过我的共享库导出静态库的符号。结果是产生的共享库太小,并且它实际上不包含由上面提到的静态库提供的任何符号。我也尝试了导出符号的地图,但这根本没有帮助。你们谁能给出一个解决方案!

提前10倍

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-06-08 13:47:32

您需要链接器的--whole-archive选项来拉入所有静态归档:

代码语言:javascript
复制
gcc -shared -o libwhatever.so -Wl,--whole-archive -lstatic -Wl,--no-whole-archive

因为--whole-archive是一个链接器选项,所以需要-Wl

为了做到这一点,libstatic.a中的代码需要被正确编译,以便在共享对象中使用(即在需要的平台上使用-fpic )。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2995000

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档