linux - 链接时ssl版本冲突
问题描述
我有一个需要 boost 和 mysqlconnector 的二进制文件,所以在链接时。
但是 boost 依赖于libssl.so.1.0.1,而 mysqlconnector 依赖于libssl.so.1.1
链接时,我收到以下警告。
/usr/bin/ld: warning: libssl.so.1.1, needed by //usr/lib/x86_64-linux-gnu/libmysqlcppconn.so.7, may conflict with libssl.so.1.0.0
我想告诉 mysqlconnector 链接到 libssl.so.1.1,同时提升链接到 libssl.so.1.0.1。
有什么办法吗?
解决方案
我想告诉 mysqlconnector 链接到 libssl.so.1.1,同时提升链接到 libssl.so.1.0.1。
有什么办法吗?
这已经发生了(这是链接器警告您的内容)。
最终结果是一个程序可能看起来可以工作,或者可能会崩溃。如果它今天似乎可以工作,明天它可能会开始崩溃,因为对系统的看似无关的更改。换句话说,这条路会导致精神错乱。
您应该做的是获得一致的构建环境。也就是说,决定您将使用哪个libssl.so.1.1
或哪个libssl.so.1.0.1
,然后构建或以其他方式获取libmysqlconnector.so
,libbost.so
哪个都使用相同版本的libssl
.
推荐阅读
- r - 从 R 中的网站抓取的段落文本创建数据框
- qt - 控制附加到 QToolButton 的弹出 QWidget
- java - 具有相同语句JAVA的多个条件
- nestjs - 在 nx 构建/部署上生成 package.json
- javascript - 是否可以从 Swagger UI 3 中过滤掉路径?
- python - 从 python 文件中动态调用函数
- ssl - 在 Raspbian 上的 Dotnet Core 上使用 HttpClient 时出现 HttpRequestException
- python-3.x - 无法使用 pycharm 创建 exe,因为它抱怨钟摆语言环境
- android - 如何在 Android opencv 中更改所选范围的色调?
- java - 如何在java中创建一个包含图像的数组?