linux编译动态库时,libcrypto.a 提示recompile with -fPIC

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux编译动态库时,libcrypto.a 提示recompile with -fPIC相关的知识,希望对你有一定的参考价值。

/usr/bin/ld: /usr/local/ssl/lib/libcrypto.a(x86_64cpuid.o): relocation R_X86_64_PC32 against `OPENSSL_cpuid_setup‘ can not be used when making a shared object; recompile with -fPIC

##g++编译动态库时,使用了ssl的静态库/usr/local/ssl/lib/libcrypto.a,结果一直报上面的错误
用openssl0.9.8的的源码重新编译该库,还是报同样的错误,网上搜索了一番,发现正确的编译ssl的流程是
./config -fPIC
make
make install
由于我一直用的./config直接配置,没有加后面的参数,所以使用时一直报错。
其实报错已经提示了缺少-fPIC,但是一直没仔细研究过
加上参数后重新编译ssl库,就可以了

以上是关于linux编译动态库时,libcrypto.a 提示recompile with -fPIC的主要内容,如果未能解决你的问题,请参考以下文章

linux调试和编译

linux 静态库和动态库编译的区别

linux编译动态库 fPIC作用

Linux下编译安装openssl1.0.1d时遇到问题怎么办?

linux environment parameter

linux environment parameter