首页 > 解决方案 > QtGui & QtWidgets 无法在 Mac OS X 上找到正确的内核

问题描述

我以前见过类似的问题,但没有一个解决方案对我有用。不幸的是,我工作所需的一些工具具有 QT 依赖项。

我首先使用自制软件安装了 Qt。设置路径等等。我设法构建了该工具,但是当我运行它时出现此错误:

dyld: Library not loaded: /usr/local/opt/qt/lib/QtGui.framework/Versions/5/QtGui
Referenced from: /Users/kon/workspace/nexus/bin/./nxsbuild
Reason: Incompatible library version: nxsbuild requires version 5.13.0 or later, but QtGui provides version 5.7.0

我安装的版本是5.13.1,我可以看到它是正确的。例如,如果我检查 qmake 的版本,就会出现正确的事情。我在可执行文件上运行了 otool,我得到了这个,这是正确的:

nxsbuild:
/usr/local/opt/qt/lib/QtGui.framework/Versions/5/QtGui (compatibility version 5.13.0, current version 5.13.1)
/usr/local/opt/qt/lib/QtCore.framework/Versions/5/QtCore (compatibility version 5.13.0, current version 5.13.1)
/System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/AGL.framework/Versions/A/AGL (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 400.9.4)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.250.1)

我试图寻找那个版本(5.7.0),但找不到任何引用它的东西。我将环境变量设置为指向正确的位置,没有任何帮助。这是变量:

export PATH=/usr/local/Cellar/qt/5.13.1/bin:$PATH
export DYLD_LIBRARY_PATH=/usr/local/Cellar/qt/5.13.1/lib:$DYLD_LIBRARY_PATH
export DYLD_FRAMEWORK_PATH=$DYLD_FRAMEWORK_PATH:/usr/local/Cellar/qt/5.13.1/lib
export LD_LIBRARY_PATH=/usr/local/Cellar/qt/5.13.1/lib:$LD_LIBRARY_PATH

然后我决定尝试通过python安装qt。我这样做了。我做了一个小测试程序,我得到了非常相似的错误信息:

ImportError: dlopen(/usr/local/lib/python3.7/site-packages/PyQt5/QtWidgets.so, 2): Library not loaded: @rpath/QtWidgets.framework/Versions/5/QtWidgets
Referenced from: /usr/local/lib/python3.7/site-packages/PyQt5/QtWidgets.so
Reason: Incompatible library version: QtWidgets.so requires version 5.13.0 or later, but QtWidgets provides version 5.7.0

对于我的一生,我无法弄清楚为什么会发生这种情况。有任何想法吗?有什么我应该看的吗?有没有办法获得有关我的系统的更多信息?请帮忙,你们是我唯一的希望。

编辑:我也试过'qtdiag'。我犯了同样的错误...

dyld: Library not loaded: /usr/local/Cellar/qt/5.13.1/lib/QtWidgets.framework/Versions/5/QtWidgets
Referenced from: /usr/local/Cellar/qt/5.13.1/bin/qtdiag
Reason: Incompatible library version: qtdiag requires version 5.13.0 or later, but QtWidgets provides version 5.7.0
Abort trap: 6

标签: macosqthomebrewqtguiqtwidgets

解决方案


推荐阅读