我使用
编译了libsslCC="gcc34 -fPIC" CXX="g++34 -fPIC" CFLAGS="-m64 -fPIC" ./config --prefix=/workspace/libs/gcc34/64/ssl shared && make clean && make && make install
但是当我尝试将这个静态生成的库与我的动态库链接时 我正在
relocation R_X86_64_PC32 against `OPENSSL_cpuid_setup' can not be used when making a shared object; recompile with -fPIC
我给了fpic选项那里有什么问题?
答案 0 :(得分:3)
这对我有用,openssl-1.0.1c
./config -fPIC
make
make install
答案 1 :(得分:1)
建议使用-Wl,-Bsymbolic
来修复此错误。
http://rt.openssl.org/Ticket/Display.html?user=guest&pass=guest&id=1521
http://www.opensubscriber.com/message/openssl-users@openssl.org/1901249.html
答案 2 :(得分:0)
最后,我想,我找到了解决方案: 当使用强化设置LDFLAGS而不设置CFLAGS时,会发生“在创建共享对象时不能使用R_X86_64_PC32对未定义的符号;使用-fPIC重新编译”。 在你的情况下,你不应该设置CFLAGS。