macos - 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
解决方案
推荐阅读
- go - 创建系统以动态加载和卸载共享对象作为插件
- firebase - react-native:firestore - 如何从存储桶引用中获取文件夹名称?
- python - Selenium webdriver 使用终端意外关闭
- geth - geth --rinkeby 找不到同行
- ios - 为什么“Swift Compiler - Custom Flags”设置没有出现在构建设置中?
- html - 无法在移动浏览器中单击表单上的提交按钮
- bash - 使用 BC 进行浮点数比较
- angular - Firefox 在控制台中显示带有谷歌分析 cookie 的错误
- r - Adjust function so that it instead of it looping through all rows, it loops only through all rows within groups
- ios - 如何删除统一ios键盘“完成”“取消”按钮