Compilation 共享对象编译错误

Compilation 共享对象编译错误,compilation,shared-libraries,shared,Compilation,Shared Libraries,Shared,我正在尝试编译一个libEncryption.so库 以下是我制作文件的内容: 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

我正在尝试编译一个libEncryption.so库

以下是我制作文件的内容:

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