我在编译opencv3.4时遇到-fPIC问题,一开始以为是opencv哪里没开-fPIC,尝试了几次发现是依赖的zlib库没用-fPIC编译。
relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
could not read symbols: Bad value
用下面命令重新编译了zlib,问题解决了
cd zlib-1.2.11
CFLAGS="-O3 -fPIC" ./configure
make
make install
在生成动态库时,常常习惯性的加上fPIC选项