首页IT科技recompile音标(recompile with -fPIC)

recompile音标(recompile with -fPIC)

时间2025-07-30 17:10:35分类IT科技浏览4781
导读:故事背景 最近同事遇到一个比较奇怪的问题,直接开门见山吧。在动态库中调用静态库直接报错了recompile with -fPIC,查看cmake的写法也没有问题,而且也是第一次遇见这个问题,所以就开启了我的好奇之路。...

故事背景

最近同事遇到一个比较奇怪的问题                ,直接开门见山吧             。在动态库中调用静态库直接报错了recompile with -fPIC                    ,查看cmake的写法也没有问题        ,而且也是第一次遇见这个问题            ,所以就开启了我的好奇之路                        。

探索之路

说实话我不喜欢百度                    ,因为千篇一律           ,你抄我的我抄你的        ,没有任何参考价值                     ,直接google吧              ,都是一些英文的解析文档    ,基本上都能解决你遇到的问题       。 Briefly, the error means that you cant use a static library to be linked w/ a dynamic one.这句话我就不翻译了         。 The solution was to compile everything with -fPIC, and link shared objects with -shared.Add -fPIC to CFLAGS or CXXFLAGS for make-based projects.这句也不翻译了                      ,我觉得还是看英文比较好理解                 ,翻译出来没有那个感觉                       。

经验心得

In a word

动态库中不可以链接静态库 如果想在动态库中链接静态库,需要加上-fPIC重新编译静态库                   ,然后再在动态库中链接就可以了           。 查看是不是添加了-fPIC的命令:readelf -d xxx.so | grep TEXTREL cmake中直接设置set(CMAKE_CXX_FLAGS "-fPIC")

大家有兴趣的可以自行了解下-fPIC的作用      。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
武平县网络诈骗在逃人员名单(武平县网红村) 发财树叶子发黄怎么办树枝干巴了要怎么办(发财树叶子发黄怎么办)