小编典典

将OpenSSL库链接到程序

linux

我已经从源代码构建了OpenSSL(一个有意的旧版本;使用来构建./config && make && make test),并且更愿意使用我所构建的内容,而不用make install链接到我的程序。

失败的命令是:

gcc -Wall -Wextra -Werror -static -Lopenssl/openssl-0.9.8k/ -lssl -lcrypto 
-Iopenssl/openssl-0.9.8k/include -o myApp source1.o source2.o common.o`

并且我收到一系列类似于以下的错误:

common.c:(.text+0x1ea): undefined reference to `SSL_write'

这使我认为我的OpenSSL有点时髦。如果我-Lopenssl/openssl-0.9.8k/从命令中省略,则错误变为无法执行以下操作:

/usr/bin/ld: cannot find -lssl
/usr/bin/ld: cannot find -lcrypto

我是否编译不正确的OpenSSL?还是我应该如何最好地解决这个问题?


阅读 443

收藏
2020-06-02

共1个答案

小编典典

愚蠢的“ Linux-isms”再次罢工!很显然,我需要改变我的命令,使得在-L-l东西是 在年底 一样(尽管什么man gcc似乎表明):

gcc -Wall -Wextra -Werror -static -o myApp source1.o source2.o common.o -Lopenssl/openssl-0.9.8k/ -lssl -lcrypto -Iopenssl/openssl-0.9.8k/include

2020-06-02