2011-09-05 91 views
1

我编的libssl使用的libssl静态库编译问题

CC="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 

我给了子卡选项有哪些错误?

+0

我很怀疑,你必须建立一个很好的包装库时覆盖任何编译器标志。您是否尝试过使用'./configure'加'make'? –

+0

试过了同样的错误 –

+0

@Kerrek SB我想要编译的libssl静态库与-fpic选项 –

回答

2

这个工作对我来说,的OpenSSL 1.0.1c

./config -fPIC 
make 
make install 
+0

这为我工作比以前的答案..谢谢 –

0

最后,我想,我找到了解决办法: 这种“对未定义的符号R_X86_64_PC32不能在制作共享对象时使用;使用-fPIC重新编译“会在LDFLAGS设置为硬化且CFLAGS未设置时发生。 你的情况你不应该设置CFLAGS我猜。

参考:https://bugzilla.redhat.com/show_bug.cgi?id=1304277