我正在实现一个 OpenSSL 代码,并且已经包含了所需的头文件,但我仍然收到类似 * 的错误
未定义的引用
SSL_library_init
我想这是一个链接错误而不是编译错误。
我正在使用 slickeditor 在 Linux 框中实现它。
我正在实现一个 OpenSSL 代码,并且已经包含了所需的头文件,但我仍然收到类似 * 的错误
未定义的引用
SSL_library_init
我想这是一个链接错误而不是编译错误。
我正在使用 slickeditor 在 Linux 框中实现它。
链接反对libssl
和libcrypto
。您的LDFLAGS
和LDLIBS
将如下所示。订单事项LDLIBS
:
LDFLAGS = -L/usr/local/ssl/lib
LDLIBS = -lssl -lcrypto
不必担心在库名称前添加“lib”,或者在“so”或“a”后缀。链接器将为您完成。
如果您是从命令行构建的,那么您将使用以下内容。再次,订单很重要。
gcc foo.c -o foo.exe -L/usr/local/ssl/lib -lssl -lcrypto
如果您使用系统的 OpenSSL,则可以省略-L/usr/local/ssl/lib
.
对我来说,这意味着安装
apt install libssl1.0-dev
这些方法在 OpenSSL 1.1 中已弃用。你不需要更多地使用它。你可以删除它。OpenSSL 手册中的更多信息。
ldd libssl.so -> libcrypto.so.1.1 => 未找到
sudo ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
libcrypto.so.1.1 => /lib64/libcrypto.so.1.1 (0x00007f17d46c7000)