gpt4 book ai didi

linux - 加载共享库 : libsigc-2. 0.so 与 libsigc-2.0.so.0 时出错

转载 作者:太空宇宙 更新时间:2023-11-04 10:06:10 25 4
gpt4 key购买 nike

我正在构建一个使用 libsigc-2.0 ( -lsigc-2.0 ) 的应用程序

我收到运行时错误,因为应用程序找不到 libsigc-2.0.so.0

error while loading shared libraries: libsigc-2.0.so.0: cannot open shared object file

但是,我的系统只有libsigc-2.0.so:

ls /usr/lib64/libsigc*
/usr/lib64/libsigc-2.0.so

我的程序在哪里选择 .0!!

我有几个理论,但我不知道如何有效地测试它们:

  • 我的 libsigc-2.0.so 实际上是一个 libsigc-2.0.so.0,所以它以某种方式在我的代码中注入(inject)了依赖性
  • 还有一个藏在某处的图书馆。再一次,我找到但什么也没有出现
  • 我使用的其中一个库或文件具有这种依赖性

如果我添加 libsigc-2.0.so.0,我可以解决这个问题,但这对我来说感觉像是一个 hack(我不明白发生了什么)

编辑 1感谢您的建议。使用 ldd 后,正如预期的那样,可执行文件绑定(bind)到 libsigc-2.0.so.0,但它在运行时找不到它

libsigc-2.0.so.0 => not found 

使用 LD_DEBUG=all ,显示所有加载路径。在其中任何一个中都找不到 libsigc-2.0.so.0(但 libsigc-2.0.so 是)

最后,使用 -v 抛出了很多库路径(-L)也是如此)。

这是最后显示的链接命令(我使用的是 intel 编译器 -> icpc):

icpc -m64 -gcc -o convert.linux-intel O.linux-intel/convert.o 
-L/pathToProject/Executive/lib/linux-intel -lExecutive
-L/home/nhcuzot/projects/3.1/dev/Ports/lib/linux-intel -lStdPorts -Wl,-E
-L/pathToProject/util/linux-intel/lib
-lantlr -lnewmat -ledit_64 -lncurses
/pathToProject/util/linux-intel/lib/libcrypto.a
/pathToProject/util/linux-intel/lib/libssl.a
-pthread -lsigc-2.0 -L/pathToProject/lib
-L/pathToIntelCompiler/ -lifcore -lncurses -lm -ldl -v

最佳答案

尝试安装以下依赖项。

sudo apt-get install --reinstall libcairomm-1.0-1v5 libglibmm-2.4-1v5 \
libsigc++-2.0-0v5

关于linux - 加载共享库 : libsigc-2. 0.so 与 libsigc-2.0.so.0 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52430518/

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