/lib/x86_64-linux-gnu/libssl.so.3: undefined reference to `OPENSSL_DIR_end@OPENSSL_3.0.0' libssl.so是三方库
时间: 2024-03-16 17:48:10 浏览: 134
/usr/lib/x86_64-linux-gnu/libopencv_videostab.so.2.4.8-附件资源
这个错误可能是因为你的程序链接的 OpenSSL 库版本过低,没有包含 `OPENSSL_DIR_end` 函数。
你可以尝试升级 OpenSSL 库到 3.0.0 版本或以上,或者在链接 OpenSSL 库时指定链接的版本。具体做法如下:
1. 指定链接的 OpenSSL 版本
在编译命令中,使用 `-lssl` 和 `-lcrypto` 指定链接的 OpenSSL 库版本,例如:
```
gcc -o myapp myapp.c -lssl -lcrypto
```
如果你同时安装了多个版本的 OpenSSL 库,可以使用 `-L` 选项指定链接库的搜索路径,例如:
```
gcc -o myapp myapp.c -L/path/to/openssl3.0.0/lib -lssl -lcrypto
```
2. 升级 OpenSSL 库
如果你的系统上安装的 OpenSSL 库版本过低,可以尝试升级到 3.0.0 版本或以上。具体升级方法根据你的系统版本和安装方式而定,可以参考 OpenSSL 官方文档或者系统发行版的文档。
升级完 OpenSSL 库之后,重新编译链接程序即可。
阅读全文