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,而后编译安装便可。编译器