我正在尝试编译一个连接openssl库的程序。当我动态编译时,我没有得到任何问题。当我添加-static标志时,问题出现了,我得到了这个错误:
gcc -g -static -static-libgcc -static-libstdc++ -o hmac-sha1-bios-x64 ../main.c -lcrypto -lm
/usr/bin/ld: impossibile trovare -lcrypto
collect2: error: ld returned 1 exit status
Makefile:10: set di istruzioni per l'obiettivo "hmac-sha1-bios-x64" non riuscito
make: *** [hmac-sha1-bios-x64] Errore 1有谁知道如何静态编译openssl库吗?
我在/usr/lib中查找了一些对libcrypt.a的引用,但只得到了libcrypt.a。我正在开发一个archlinux,有没有可能官方的openssl archlinux包没有包含静态编译所需的文件?
发布于 2015-09-15 19:25:42
好了,我决定了。在创建openssl包的过程中,会删除所有的静态库。唯一的方法是下载PKGBUILD,然后在options字段中添加"staticlibs“:
options=('!makeflags' 'staticlibs')通过这种方式,使用静态库重新构建包,它应该可以工作。
https://stackoverflow.com/questions/32583958
复制相似问题