Erstens verwendet Qwt 6 jetzt ein Framework. Das heißt, es gibt keine qwt.dylib
Datei mehr. Wenn Sie es verknüpfen möchten, fügen Sie einfach diese zu Ihrem .pro
Datei:
include (/usr/local/opt/qwt/features/qwt.prf)
CONFIG += qwt
Oder wo auch immer Ihr qwt Installationsordner ist.
Im Prinzip können Sie einfach eine Umgebungsvariable z.
QT_PLUGIN_PATH="/usr/local/opt/qwt/lib/qt5/plugins:$QT_PLUGIN_PATH"
export QT_PLUGIN_PATH
Aber das hat aus irgendeinem Grund nicht für mich funktioniert.
Ich habe ein paar Haare, aber hier ist, wie ich es über Homebrew funktioniert.
1) brew install qt5 qwt
2) brew cask install qt-creator
3) Kopieren Sie das Plugin dylib zu Ihrem Qt Creator Plugin-Ordner:
sudo cp /usr/local/opt/qwt/lib/qt5/plugins/designer/libqwt_designer_plugin.dylib /Applications/Qt Creator.app/Contents/PlugIns/designerlibqwt_designer_plugin.dylib
4) Kopieren Sie den Rahmen (rekursiv) in den Frameworks App Ordner:
sudo cp -R /usr/local/Cellar/qwt/6.1.3_1/lib/qwt.framework /Applications/Qt\ Creator.app/Contents/Frameworks/
5) Versuch zu Führen Sie Qt Creator aus und finden Sie, dass es abstürzt, wenn Sie versuchen, den Formular-Designer zu öffnen. Boo.
6) Führen Sie otool -L
auf dem Plugin dylib:
> otool -L libqwt_designer_plugin.dylib
/usr/local/opt/qwt/lib/qt5/plugins/designer/libqwt_designer_plugin.dylib (compatibility version 0.0.0, current version 0.0.0)
/usr/local/Cellar/qwt/6.1.3_1/lib/qwt.framework/Versions/6/qwt (compatibility version 6.1.0, current version 6.1.3)
/usr/local/opt/qt5/lib/QtDesigner.framework/Versions/5/QtDesigner (compatibility version 5.7.0, current version 5.7.0)
/usr/local/opt/qt5/lib/QtWidgets.framework/Versions/5/QtWidgets (compatibility version 5.7.0, current version 5.7.0)
/usr/local/opt/qt5/lib/QtGui.framework/Versions/5/QtGui (compatibility version 5.7.0, current version 5.7.0)
/usr/local/opt/qt5/lib/QtCore.framework/Versions/5/QtCore (compatibility version 5.7.0, current version 5.7.0)
/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)
/usr/local/opt/qt5/lib/QtXml.framework/Versions/5/QtXml (compatibility version 5.7.0, current version 5.7.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 307.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1238.0.0)
An diesem Punkt, den Sie zu einem Plugin vergleichen, die tatsächlich funktioniert, qtquick:
libqquickwidget.dylib (compatibility version 0.0.0, current version 0.0.0)
@rpath/QtDesigner.framework/Versions/5/QtDesigner (compatibility version 5.7.0, current version 5.7.0)
@rpath/QtWidgets.framework/Versions/5/QtWidgets (compatibility version 5.7.0, current version 5.7.0)
@rpath/QtGui.framework/Versions/5/QtGui (compatibility version 5.7.0, current version 5.7.0)
@rpath/QtCore.framework/Versions/5/QtCore (compatibility version 5.7.0, current version 5.7.0)
/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)
@rpath/QtXml.framework/Versions/5/QtXml (compatibility version 5.7.0, current version 5.7.0)
@rpath/QtQuickWidgets.framework/Versions/5/QtQuickWidgets (compatibility version 5.7.0, current version 5.7.0)
@rpath/QtQuick.framework/Versions/5/QtQuick (compatibility version 5.7.0, current version 5.7.0)
@rpath/QtQml.framework/Versions/5/QtQml (compatibility version 5.7.0, current version 5.7.0)
@rpath/QtNetwork.framework/Versions/5/QtNetwork (compatibility version 5.7.0, current version 5.7.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 120.1.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1226.10.1)
Ok, also müssen wir verbinden die lokalen Versionen von Qt. Sie müssen vorsichtig sein, jeden Verweis auf ein Qt-Framework zu finden. In diesem Fall gibt es zwei Plätze:
1) Im Plugin dylib
2) Im Rahmen Bibliothek
Hier ist, was ich lief:
sudo install_name_tool -change "/usr/local/opt/qt5/lib/QtGui.framework/Versions/5/QtGui" "@rpath/Frameworks/QtGui.framework/Versions/5/QtGui" libqwt_designer_plugin.dylib
sudo install_name_tool -change "/usr/local/opt/qt5/lib/QtCore.framework/Versions/5/QtCore" "@rpath/Frameworks/QtCore.framework/Versions/5/QtCore" libqwt_designer_plugin.dylib
sudo install_name_tool -change "/usr/local/opt/qt5/lib/QtWidgets.framework/Versions/5/QtWidgets" "@rpath/Frameworks/QtWidgets.framework/Versions/5/QtWidgets" libqwt_designer_plugin.dylib
sudo install_name_tool -change "/usr/local/opt/qt5/lib/QtDesigner.framework/Versions/5/QtDesigner" "@rpath/Frameworks/QtDesigner.framework/Versions/5/QtDesigner" libqwt_designer_plugin.dylib
sudo install_name_tool -change "/usr/local/opt/qt5/lib/QtXml.framework/Versions/5/QtXml" "@rpath/Frameworks/QtXml.framework/Versions/5/QtXml" libqwt_designer_plugin.dylib
sudo install_name_tool -change "/usr/local/Cellar/qwt/6.1.3_1/lib/qwt.framework/Versions/6/qwt" "@rpath/Frameworks/qwt.framework/Versions/6/qwt" libqwt_designer_plugin.dylib
sudo install_name_tool -change "/usr/local/opt/qt5/lib/QtPrintSupport.framework/Versions/5/QtPrintSupport" "@rpath/Frameworks/QtPrintSupport.framework/Versions/5/QtPrintSupport" qwt
sudo install_name_tool -change "/usr/local/opt/qt5/lib/QtWidgets.framework/Versions/5/QtWidgets" "@rpath/Frameworks/QtWidgets.framework/Versions/5/QtWidgets" qwt
sudo install_name_tool -change "/usr/local/opt/qt5/lib/QtCore.framework/Versions/5/QtCore" "@rpath/Frameworks/QtCore.framework/Versions/5/QtCore" qwt
sudo install_name_tool -change "/usr/local/opt/qt5/lib/QtGui.framework/Versions/5/QtGui" "@rpath/Frameworks/QtGui.framework/Versions/5/QtGui" qwt
sudo install_name_tool -change "/usr/local/opt/qt5/lib/QtSvg.framework/Versions/5/QtSvg" "@rpath/Frameworks/QtSvg.framework/Versions/5/QtSvg" qwt
sudo install_name_tool -change "/usr/local/opt/qt5/lib/QtConcurrent.framework/Versions/5/QtConcurrent" "@rpath/Frameworks/QtConcurrent.framework/Versions/5/QtConcurrent" qwt
Beachten Sie, dass in qwt, gibt es ein Verweis auf QtOpenGL
. Allerdings war dieses Framework nicht in meiner Version von Qt Creator enthalten, so dass ich es auf /usr/local/opt/ ...
zeigte. Scheint keinen Unterschied zu machen.
schließlich das Ergebnis meiner otool
ist:
otool -L qwt
qwt:
/usr/local/opt/qwt/lib/qwt.framework/Versions/6/qwt (compatibility version 6.1.0, current version 6.1.3)
@rpath/Frameworks/QtPrintSupport.framework/Versions/5/QtPrintSupport (compatibility version 5.7.0, current version 5.7.0)
@rpath/Frameworks/QtWidgets.framework/Versions/5/QtWidgets (compatibility version 5.7.0, current version 5.7.0)
@rpath/Frameworks/QtGui.framework/Versions/5/QtGui (compatibility version 5.7.0, current version 5.7.0)
@rpath/Frameworks/QtCore.framework/Versions/5/QtCore (compatibility version 5.7.0, current version 5.7.0)
/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)
@rpath/Frameworks/QtSvg.framework/Versions/5/QtSvg (compatibility version 5.7.0, current version 5.7.0)
/usr/local/opt/qt5/lib/QtOpenGL.framework/Versions/5/QtOpenGL (compatibility version 5.7.0, current version 5.7.0)
@rpath/Frameworks/QtConcurrent.framework/Versions/5/QtConcurrent (compatibility version 5.7.0, current version 5.7.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 307.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1238.0.0)
und:
otool -L libqwt_designer_plugin.dylib
libqwt_designer_plugin.dylib:
/usr/local/opt/qwt/lib/qt5/plugins/designer/libqwt_designer_plugin.dylib (compatibility version 0.0.0, current version 0.0.0)
@rpath/Frameworks/qwt.framework/Versions/6/qwt (compatibility version 6.1.0, current version 6.1.3)
@rpath/Frameworks/QtDesigner.framework/Versions/5/QtDesigner (compatibility version 5.7.0, current version 5.7.0)
@rpath/Frameworks/QtWidgets.framework/Versions/5/QtWidgets (compatibility version 5.7.0, current version 5.7.0)
@rpath/Frameworks/QtGui.framework/Versions/5/QtGui (compatibility version 5.7.0, current version 5.7.0)
@rpath/Frameworks/QtCore.framework/Versions/5/QtCore (compatibility version 5.7.0, current version 5.7.0)
/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)
@rpath/Frameworks/QtXml.framework/Versions/5/QtXml (compatibility version 5.7.0, current version 5.7.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 307.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1238.0.0)
Dann, wenn Sie Qt Creator öffnen Sie sollten sehen:
