recompile with -fPIC Could not read symbols:Linux/UNIX系统下编译时,常见的一类报错信息解决方法

https://blog.csdn.net/edonlii/article/details/8452262

https://www.cnblogs.com/HuangWj/p/6739255.html

发现提示了recompile with -fPIC。

编译动态库要链接静态库会出现这问题,编译静态库链接静态库则不会。

make CFLAGS='$CFLAGS -fPIC'

-fPIC 作用于编译阶段,告诉编译器产生与位置无关代码(Position-Independent Code),则产生的代码中,没有绝对地址,全部使用相对地址,故而代码可以被加载器加载到内存的任意位置,都可以正确的执行。这正是共享库所要求的,共享库被加载时,在内存的位置不是固定的。

发布了150 篇原创文章 · 获赞 6 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/LU_ZHAO/article/details/104902239
今日推荐