链接时ssl版本冲突

ssl version conflict when linking

我有一个二进制文件需要 boost 和 mysqlconnector 所以当 linking.

但是boost依赖于libssl.so.1.0.1,而mysqlconnector依赖于libssl.so.1.1

当 linking 时,我收到以下警告。

/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 link 对抗 libssl.so.1.1,同时将 link 提升为 libssl.so.1.0.1.

有什么办法吗?

I would like to tell mysqlconnector to link against libssl.so.1.1 while boost link to libssl.so.1.0.1.

Is there any way to do so ?

已经发生了(这是链接器警告你的)。

最终结果是一个程序可能看起来正常工作,也可能崩溃。如果它今天看起来工作正常,明天可能会因为看似无关的系统更改而开始崩溃。换句话说,这条路会导致精神错乱。

您应该做的是获得一个一致的构建环境。也就是说,决定要使用 libssl.so.1.1libssl.so.1.0.1 中的哪一个,然后构建或以其他方式获取 libmysqlconnector.solibbost.so,其中 both 使用相同版本的 libssl.