• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

共享对象编译错误

compilation 来源:chetan 3次浏览

我想编译一个库libEncryption.so。共享对象编译错误

这里是我的make文件conatins什么:

cc -g -w -fPIC -c -ISource/Header -I//usr/local/ssl/include -L//usr/local/ssl/lib -  lssl -lcrypto Source/Common/C/Encryption.c -DBIT64 -DDBG -DLITTLEENDIAN -DOMS -DRMS 
mv Encryption.o Objects/Encryption.o 
ld -fPIC -G Objects/Encryption.o -L/usr/local/ssl/lib -lssl -lcrypto -o libEncryption.so 

在运行此我不断获取以下错误

LD:/usr/local/ssl/lib/libcrypto.a(sha1dgst .o):在创建共享对象时,不能使用针对“本地符号”的R_X86_64_32;与-fPIC /usr/local/ssl/lib/libcrypto.a重新编译:看不懂的符号:坏值

===========解决方案如下:

它告诉你libcrypto.a不是用fPIC编译。

你应该用-fPIC重建它,或者在编译你的东西时使用-fPIC


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)