gpt4 book ai didi

c++ - OpenSSL 1.0.1f 和 "undefined reference to symbol ' SSL_state@@OPENSSL_1.0.0"

转载 作者:太空宇宙 更新时间:2023-11-04 13:07:29 30 4
gpt4 key购买 nike

今天早上我将我的 OpenSSL 版本更新到 1.0.1f,在编译我当前正在处理的项目时,我从链接器收到了这个 OpenSSL 错误:

/usr/bin/ld: janus-dtls.o: undefined reference to symbol 'SSL_state@@OPENSSL_1.0.0' //lib/x86_64-linux-gnu/libssl.so.1.0.0: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status

我去互联网上寻找线索,我唯一发现的是我需要用 -lssl 和 -lcrypto 编译项目。但问题是我已经这样做了:

./Makefile:598:JANUS_LIBS = -pthread -L/usr/local/lib -lnice -lgthread-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -ljansson -lssl -lcrypto -lsofia-sip-ua

所以我想我会问 DPKG,也许我忘记了什么。这是答案:

$ pkg-config --libs openssl

-L/usr/local/lib -lssl -lcrypto 

这正是我所做的。

有没有人遇到过这个错误并设法修复它?

或者我做错了什么我看不到?

如有任何帮助,我们将不胜感激。

最佳答案

符号请求是在链接它们之前发出的,因此库的顺序是严格的。

如果 LibA 有一个 LibB 需要的符号,顺序将是:

gcc mod1.o mod2.o -lLibA  -lLibB  

仔细检查 Makefile 中的所有库是否丢失。

关于c++ - OpenSSL 1.0.1f 和 "undefined reference to symbol ' SSL_state@@OPENSSL_1.0.0",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41551310/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com