gpt4 book ai didi

c++ - 如何找出试图加载 libmysqlclient_r.so 库的内容

转载 作者:行者123 更新时间:2023-12-01 14:20:20 25 4
gpt4 key购买 nike

我正在使用 clang-9 和 mysql-connector-c++8。

在 mysql-connector-c++ 从 1.1.12 升级到 8.x 并在我的应用程序中运行函数后:get_driver_instance() 抛出异常:

“无法加载库 libmysqlclient_r.so:libmysqlclient_r.so:无法打开共享对象文件”

到目前为止我尝试了什么:

  • ldd 在我新编译的二进制文件上,但我新编译的二进制文件没有链接到 libmysqlclient_r.so
  • strace -f 我的二进制文件,但没有关于加载这个库的信息
  • 删除了 /etc/ld.so.cache 并用 ldconfig 重建了它,然后重新编译了我的软件
  • updatedb && locate\*\.so | xargs ldd\*\.so\.\* 相同,但没有文件显示它与 libmysqlclient_r.so 链接

编译过程中没有错误。我不知道可能出了什么问题。我可以做些什么来进一步诊断它?

最佳答案

运行时 dlopen 调用不会在 ldd 中产生任何输出,但您可以说服 ld.so 在加载库时打印whom 通过设置环境变量LD_DEBUG=files

关于c++ - 如何找出试图加载 libmysqlclient_r.so 库的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61344255/

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