Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 动态链接库的问题_C++_Linux_Qt_Shared Libraries_Dynamic Linking - Fatal编程技术网

C++ 动态链接库的问题

C++ 动态链接库的问题,c++,linux,qt,shared-libraries,dynamic-linking,C++,Linux,Qt,Shared Libraries,Dynamic Linking,问题: 当我尝试打开某些应用程序时,链接器会出现如下错误: /usr/lib/x86_64-linux-gnu/libpoppler-qt5.so.1: undefined symbol: _ZN6QDebugD1Ev 一些受影响的应用程序 texstudio节目 /usr/lib/x86_64-linux-gnu/libpoppler-qt5.so.1:未定义符号:_ZN6QDebugD1Ev IPython的qtconsole显示 /usr/lib/python3.5/site-pack

问题:
当我尝试打开某些应用程序时,链接器会出现如下错误:

/usr/lib/x86_64-linux-gnu/libpoppler-qt5.so.1: undefined symbol: _ZN6QDebugD1Ev
一些受影响的应用程序

  • texstudio节目
    /usr/lib/x86_64-linux-gnu/libpoppler-qt5.so.1:未定义符号:_ZN6QDebugD1Ev
  • IPython的
    qtconsole
    显示
    /usr/lib/python3.5/site-packages/PyQt5/QtCore.so:未定义符号:_ZNK12QStorageInfo11displayNameEv
  • konsole(KDE的终端仿真器——我使用的是Unity)显示
    /usr/lib/x86_64-linux-gnu/libKF5ItemViews.so.5:未定义的符号:…
  • granatier(KDE游戏)、KSysguard和KAddressbook也在
    KF5
    库中显示错误
  • VLC似乎也受到了影响,因为它说Qt4有问题(见下文)。然而,它并没有确切地说这是一个链接问题
这似乎是动态链接的一个问题,我猜问题出在库中

Qt
所有这些错误似乎都来自Qt链接库(“Qt”出现在大多数文件名和符号名中)。AFAIK KDE基于Qt,这可以解释为什么所有KDE应用程序都会失败。
它似乎同时影响Qt 4和5

我也有过一次,但它最终消失了(可能是一次更新)

我使用的是
ld
2.25

我为什么要问这个问题
我意识到我的问题不是关于编程。国家

关于通用计算硬件和软件的问题对于堆栈溢出来说是无关紧要的,除非它们直接涉及主要用于编程的工具

这似乎是链接器/动态库的一个问题,所以我想说它有点涉及编程工具。

如果你不同意,请不要投反对票,写一篇评论来解释你的观点。

好的,如果你切换到“不稳定”,这种问题会发生很多

您需要做的是将所有包降级回“稳定”。修改sources.list是不够的,您还需要更改优先级


看看这个线程:

好吧,如果你切换到“不稳定”,这种问题会发生很多

您需要做的是将所有包降级回“稳定”。修改sources.list是不够的,您还需要更改优先级


看看这个线程:

好的,所以问题的根源似乎是我在
/usr/local/lib
中有类似
libQt5Core.so.5
的Qt链接库。当我移除它们时,一切又恢复正常。

我读到包管理器没有在那里放置任何库,所以可能是我犯了一个愚蠢的错误。看起来这最终根本不是一个编程问题。

好的,所以问题的根源似乎是我在
/usr/local/lib
中有类似于
libQt5Core.so.5的Qt链接库。当我移除它们时,一切又恢复正常。

我读到包管理器没有在那里放置任何库,所以可能是我犯了一个愚蠢的错误。看起来这根本不是编程问题。

您是否重新编译或安装了不同版本的Qt库?@OleksandrKravchuk我尝试重新安装不同的Qt包(包含有问题库的包),因此,Qt库或使用它的软件不是来自官方发行版的存储库?@OleksandrKravchuk这是一个解释,但是我都是从软件包管理器安装的,并且都有正确的版本。您使用的是操作系统的稳定分支吗?您是否重新编译或安装了不同版本的Qt库?@OleksandrKravchuk我尝试重新安装不同的Qt软件包(那些包含有问题的库),所以,Qt lib或使用它的软件不是来自官方发行版的存储库?@OleksandrKravchuk这可能是一个解释,但我都是从软件包管理器安装的,并且都有正确的版本。您使用的是操作系统的稳定分支吗?