我在mysql-连接器-c++8中使用clang-9 .
在mysql-连接器-c++从1.1.12升级到8.x并在我的应用程序中运行函数:get_driver_instance()之后,将抛出一个异常:
“无法加载库libmysqlclient_r.so: libmysqlclient_r.so:无法打开共享对象文件”
到目前为止我尝试过的是:
ldd在我的新编译的二进制文件上,但是我的新编译的二进制文件没有链接到libmysqlclient_r.so.strace -f (我的二进制文件),但是没有关于加载这个library/etc/ld.so.cache并用ldconfig重新构建它的信息,而是重新编译了我的softwareupdatedb && locate \*\.so | xargs ldd和相同的\*\.so\.\*,但是没有一个文件显示它与libmysqlclient_r.so链接。
编译期间没有错误。我已经想出了什么可能是错的。我能做些什么来进一步诊断呢?
发布于 2020-04-21 14:21:45
运行时dlopen调用不会在ldd中产生任何输出,但是您可以通过设置环境变量LD_DEBUG=files来说服ld.so在加载库时打印。
https://stackoverflow.com/questions/61344255
复制相似问题