2017-03-13 16 views
1

現在、私のQt5.8アプリケーションをMacOSに配備しようとしています。最新のTravisジョブはhereです。 macdeployqtを使用した後にVNote.dmgファイルがあります。それから私は別のMacOSにコピーし、それを実行しようとしましたが、次のエラーを得た:macdeployqtが正しく動作していないようです

/Applications/VNote/VNote.app/Contents/MacOS/VNote ; exit; 
dyld: Library not loaded: /usr/local/Cellar/qt5/5.8.0_1/lib/QtWebEngineCore.framework/Versions/5/QtWebEngineCore 
    Referenced from: /Applications/VNote/VNote.app/Contents/Frameworks/QtWebEngineWidgets.framework/Versions/5/QtWebEngineWidgets 
    Reason: image not found 
Trace/BPT trap: 5 
logout 

その後、私は、出力を得るためにotool -L /Applications/VNote.app/Contents/MacOS/VNoteを使用:

/Applications/VNote.app/Contents/MacOS/VNote: 
    @executable_path/../Frameworks/QtWebEngineWidgets.framework/Versions/5/QtWebEngineWidgets (compatibility version 5.8.0, current version 5.8.0) 
    @executable_path/../Frameworks/QtWebEngineCore.framework/Versions/5/QtWebEngineCore (compatibility version 5.8.0, current version 5.8.0) 
    @executable_path/../Frameworks/QtQuick.framework/Versions/5/QtQuick (compatibility version 5.8.0, current version 5.8.0) 
    @executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui (compatibility version 5.8.0, current version 5.8.0) 
    @executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore (compatibility version 5.8.0, current version 5.8.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) 
    @executable_path/../Frameworks/QtQml.framework/Versions/5/QtQml (compatibility version 5.8.0, current version 5.8.0) 
    @executable_path/../Frameworks/QtNetwork.framework/Versions/5/QtNetwork (compatibility version 5.8.0, current version 5.8.0) 
    @executable_path/../Frameworks/QtWebChannel.framework/Versions/5/QtWebChannel (compatibility version 5.8.0, current version 5.8.0) 
    @executable_path/../Frameworks/QtPositioning.framework/Versions/5/QtPositioning (compatibility version 5.8.0, current version 5.8.0) 
    @executable_path/../Frameworks/QtPrintSupport.framework/Versions/5/QtPrintSupport (compatibility version 5.8.0, current version 5.8.0) 
    @executable_path/../Frameworks/QtWidgets.framework/Versions/5/QtWidgets (compatibility version 5.8.0, current version 5.8.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) 

その後otool -L /Applications/VNote.app/Contents/Frameworks/QtWebEngineWidgets.framework/Versions/5/QtWebEngineWidgetsショー:

/Applications/VNote.app/Contents/Frameworks/QtWebEngineWidgets.framework/Versions/5/QtWebEngineWidgets: 
    @executable_path/../Frameworks/QtWebEngineWidgets.framework/Versions/5/QtWebEngineWidgets (compatibility version 5.8.0, current version 5.8.0) 
    /usr/local/Cellar/qt5/5.8.0_1/lib/QtWebEngineCore.framework/Versions/5/QtWebEngineCore (compatibility version 5.8.0, current version 5.8.0) 
    /usr/local/Cellar/qt5/5.8.0_1/lib/QtQuick.framework/Versions/5/QtQuick (compatibility version 5.8.0, current version 5.8.0) 
    /usr/local/Cellar/qt5/5.8.0_1/lib/QtGui.framework/Versions/5/QtGui (compatibility version 5.8.0, current version 5.8.0) 
    /usr/local/Cellar/qt5/5.8.0_1/lib/QtCore.framework/Versions/5/QtCore (compatibility version 5.8.0, current version 5.8.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/Cellar/qt5/5.8.0_1/lib/QtQml.framework/Versions/5/QtQml (compatibility version 5.8.0, current version 5.8.0) 
    /usr/local/Cellar/qt5/5.8.0_1/lib/QtNetwork.framework/Versions/5/QtNetwork (compatibility version 5.8.0, current version 5.8.0) 
    /usr/local/Cellar/qt5/5.8.0_1/lib/QtWebChannel.framework/Versions/5/QtWebChannel (compatibility version 5.8.0, current version 5.8.0) 
    /usr/local/Cellar/qt5/5.8.0_1/lib/QtPositioning.framework/Versions/5/QtPositioning (compatibility version 5.8.0, current version 5.8.0) 
    /usr/local/Cellar/qt5/5.8.0_1/lib/QtPrintSupport.framework/Versions/5/QtPrintSupport (compatibility version 5.8.0, current version 5.8.0) 
    /usr/local/Cellar/qt5/5.8.0_1/lib/QtWidgets.framework/Versions/5/QtWidgets (compatibility version 5.8.0, current version 5.8.0) 
    /usr/local/Cellar/qt5/5.8.0_1/lib/QtQuickWidgets.framework/Versions/5/QtQuickWidgets (compatibility version 5.8.0, current version 5.8.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) 

QtWebEngineWidgetsは、Travis envの絶対パスを参照しているようです。

Qtアプリケーションを展開するにはどうすればよいですか?どうもありがとう!

+0

あなたはQt 5.7アプリケーションをデプロイしようとしていますが、セラーライブラリのリファレンスは5.8を参照しています。ビルドマシンにQtの2つのバージョンがありますが混乱していますか? – TheDarkKnight

+0

@TheDarkKnight混乱して申し訳ありません。私はTravisがQt5.8を使用している間にQt5.7をローカル開発に使用します。それは目標を構築することができるので、私はQt5.8がQt5.7アプリを構築できると思いますよね? – tamlok

+0

私はあなたが問題だと思っています。 macdeployqtは5.7 Qtフレームワークから呼び出され、5.7ライブラリのパスを解決するようになります。 5.8 Qtライブラリは無視されるので、それを[第三者のライブラリ]として扱う必要があります(http://stackoverflow.com/questions/18780602/automatically-include-qt-libraries-in-the-app-bundle- deploying-on-mac/18781575#18781575)、* install_name_tool *を使用してください。 5.8を使用するように独自のコードをアップグレードする方がよいでしょう。 – TheDarkKnight

答えて

1

これはmacdeployqtのバグだと思います。すべてのフレームワークの依存関係を修正していないようです。代わりに、実行可能ファイルの直接の依存関係を修正するだけです。

macdeployqtfixのおかげで、すべてのことを行うツールですmacdeployqt忘れました。

ところで、あなたのアプリがQWebEngineWidgetを使用している場合は、macdeployqtヘルパーQWebEngineProcessバンドルも必要です。

関連する問題