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”出现在大多数文件名和符号名中)。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这可能是一个解释,但我都是从软件包管理器安装的,并且都有正确的版本。您使用的是操作系统的稳定分支吗?