首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建静态和共享的C++库

创建静态和共享的C++库
EN

Stack Overflow用户
提问于 2011-02-01 14:31:40
回答 1查看 1.3K关注 0票数 8

我希望在一个项目中同时构建静态库和共享库。

我知道,共享库需要从使用-fpic编译的对象中创建,以获得独立于位置的代码,而静态库不需要这样做。这一切都很好,我可以创建一个共享库或静态库。

我不想编译我的源代码两次以获得不同的对象文件,那么这通常是如何完成的呢?我读过how to get a shared library based on a static one。但是,该示例显示了正在使用-fpic构建的静态库。这是该走的路吗?这有什么值得注意的吗?

是否存在编译静态库和共享库的通用方法?例如,首先是静态的,并基于库创建共享版本?

我想知道是否有不同的方法,以及在选择.时应该考虑什么。

我在Linux上使用gcc4.4。

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-01 14:36:58

实际上,我看到的常见方法是编译您的源代码两次,一次用PIC编译,一次不编译。如果不这样做,就会在静态库中产生PIC开销,或者是一个不能被OS重新定位的共享对象(实际上意味着它不会在库的多个客户端之间共享)。

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

https://stackoverflow.com/questions/4863791

复制
相关文章

相似问题

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