QtGui & QtWidgets не могут найти правильное ядро ​​в Mac OS X - PullRequest
0 голосов
/ 31 октября 2019

Я видел похожие вопросы, которые задавались ранее, но ни одно из решений не помогло мне. К сожалению, некоторые инструменты, которые мне нужны для моей работы, имеют зависимость от QT.

Сначала я установил Qt, используя homebrew. Пути установки и все такое. Мне удалось собрать инструмент, но когда я его запускаю, я получаю эту ошибку:

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), но не могу найти ничего, ссылающегося на нее. Я установил env vars, чтобы указать на правильное место, ничего не помогает. Вот переменные:

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

Тогда я решил попробовать установить qt через python. Я это сделал. Я сделал небольшую тестовую программу и получаю из нее очень похожее сообщение об ошибке:

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
...