編譯錯誤總結

1. 今天在centos6.4系統上編譯so,當so引用其餘so或者 .a 靜態庫時, 會出現以下錯誤(之前未遇到過,與編譯器相關,有的編譯器編譯時會自動將fPIC選項加上):json

/usr/bin/ld: /home/gavin/local/json/lib/libjson.a(json_object.o): relocation R_X86_64_32S against `.text' can not be used when making a shared object; recompile with -fPICcentos

解決: 從新編譯第三方庫, 在configure文件中找到相關CPPFLAG 或者 CCFLAG變量,在其後加上-fPIC,從新生成Makefile,而後編譯安裝便可。編譯器

相關文章
相關標籤/搜索