PyQt5 QtQuick 错误 - “libQt5Network 未定义符号:_Z24qt_subtract_from_timeoutii”
Posted
技术标签:
【中文标题】PyQt5 QtQuick 错误 - “libQt5Network 未定义符号:_Z24qt_subtract_from_timeoutii”【英文标题】:PyQt5 QtQuick Error - "libQt5Network undefined symbol: _Z24qt_subtract_from_timeoutii" 【发布时间】:2016-02-08 17:35:22 【问题描述】:在我的 Ubuntu 14.04 上成功安装 PyQt5.5.1 和 Qt5.5.1 后,我使用 QtQuick 运行了我的简单 pyqt 文件并遇到了这个错误:
libQt5Network.so.5:未定义符号:_Z24qt_subtract_from_timeoutii
有人遇到过这种情况吗?
谢谢。
Python.py:
# Main Function
if __name__ == '__main__':
# Create main app
myApp = QApplication(sys.argv)
# Create a label and set its properties
appLabel = QQuickView()
appLabel.setSource(QUrl('basic.qml'))
# Show the Label
appLabel.show()
# Execute the Application and Exit
myApp.exec_()
sys.exit()
基本.qml:
Grid
id: colorPicker
rows: 2; columns: 3; spacing: 3
Rectangle color: "white";
Rectangle color: "green";
Rectangle color: "blue";
Rectangle color: "yellow";
Rectangle color: "steelblue";
Rectangle color: "black";
【问题讨论】:
【参考方案1】:原因是我还安装了python-Qt5,它基于旧的Qt5版本。
与
find / -name libQt*
我可以看到一些旧的 qt lib 位于 /usr/lib 文件夹中:
/usr/lib/i386-linux-gnu/libQt5Network.so
/usr/lib/i386-linux-gnu/libQt5Network.so.5
/usr/lib/i386-linux-gnu/libQt5Network.so.5.2
/usr/lib/i386-linux-gnu/libQt5Network.so.5.2.1
/home/tad/Qt5.5.1/gcc/lib/libQt5Network.so.5.5
/home/tad/Qt5.5.1/gcc/lib/libQt5Network.so
/home/tad/Qt5.5.1/gcc/lib/libQt5Network.so.5.5.1
/home/tad/Qt5.5.1/gcc/lib/libQt5Network.so.5
/home/tad/Qt5.5.1/Tools/QtCreator/lib/qtcreator/libQt5Network.so.5
/home/tad/Qt5.5.1/Tools/QtCreator/lib/qtcreator/libQt5Network.so.5.5.1
/home/tad/Qt5.5.1/Tools/QtCreator/lib/qtcreator/libQt5Network.so.5
问题可能是 qt 库不一致,所以我删除了 /usr/lib 中的所有 qt 库,并将它们替换为我的主文件夹中的库。它起作用了!但是不建议这样做,因为某些内置的 Ubuntu 组件可能会在 /usr/lib 文件夹中使用 libQt*。因此,只需删除 python-qt5 并重新安装 pyqt5!
顺便说一句,对于与 Sip API 版本有关的错误,我们只需运行以删除所有与 sip 相关的包,然后重新安装 sip:
dpkg -l | grep sip
然后
sudo apt-get purge python3-sip python3-sip-dev
【讨论】:
以上是关于PyQt5 QtQuick 错误 - “libQt5Network 未定义符号:_Z24qt_subtract_from_timeoutii”的主要内容,如果未能解决你的问题,请参考以下文章
PyQt5安装导致designer、qtopengl、可能pyqtgraph错误
部署后的 Linux qt 应用程序 - 符号查找错误:libQt5Core.so.5 未定义符号:uncv_getDefaultName_56
在树莓派上原生构建 qt5.7.1 得到错误:/usr/lib/arm-linux-gnueabihf/libQt5Quick.so.5: 未定义对 `QV8Engine::toVariant 的引用