学习笔记:relocation R_X86_64_32 against `…‘ can not be used when making a shared object;
解决多个.a静态库,链接成一个.so动态库出现:
relocation R_X86_64_32 against `.rodata’ can not be used when making a shared object; 的错误。
我的总目标是:写一个mainApi.cpp的文件,这个文件提供API给外部用户使用。mainApi.cpp需要依赖其他模块生成的静态库(在lib文件下)。将mainApi.cpp编译
链接成一个.so动态库共外部使用。在编译的时候出现relocation R_X86_64_32 against `…’ can not be used when making a shared object; 的错误。
原因是因为生成静态库时没有加 -fPIC 选项。
add_definitions(-fPIC)
原文链接:https://blog.youkuaiyun.com/u010312436/article/details/52486811