Qt 5.5.0 C++ を使用して、非常に単純なウィジェット ベースのアプリケーションの例を作成しました。フォームにはボタンがなく、デフォルトのままです。コンパイルして macdeployqt で実行し、dmg ファイルからアプリケーションを実行すると、問題なく動作します。ただし、main.cpp を編集してこの行を追加すると...
QApplication::setStyle(QStyleFactory::create("Fusion"));
...列の前にQApplication a(argc, argv);
...
...もちろん、mainwindow.h に#include <QtWidgets>
行があり、それを macdeployqt で実行する必要があります。次のエラーが発生します。(実際にはクラッシュしますが、example.app ファイルを開いて example.app/Contents/MacOS/example の下にあるバイナリを見つけて実行すると、ターミナル ウィンドウに次のメッセージが表示されます。)
このアプリケーションは、Qt プラットフォーム プラグイン「cocoa」を見つけられなかったか、読み込めなかったため、開始できませんでした。
アプリケーションを再インストールすると、この問題が解決する場合があります。
アボートトラップ: 6
そのため、cocoa プラグインを見つけるのに問題があります。ただし、次のパスに cocoa プラグインがあります。
example.app/Contents/PlugIns/platforms/libqcocoa.dylib
otool
とコマンドを使用して、install_name_tool
で壊れたものを修正する必要があると思いますmacdeployqt
が、その手法が何であるかわかりません。