Windowsに展開する必要がある小さなQMLアプリを作成しました。
リリースモードでコンパイルしました。
私は Windows にデプロイするのに慣れておらず、ファイルの横に大量の dll を追加した後 (依存関係ウォーカーのおかげで)、起動しません。
(明らかに)必要のない別のdllを追加すると、アプリがついに起動します。
しかし、それは空のウィンドウを起動します。
私は何を間違えましたか?どうすれば動作させることができますか?
Windowsに展開する必要がある小さなQMLアプリを作成しました。
リリースモードでコンパイルしました。
私は Windows にデプロイするのに慣れておらず、ファイルの横に大量の dll を追加した後 (依存関係ウォーカーのおかげで)、起動しません。
(明らかに)必要のない別のdllを追加すると、アプリがついに起動します。
しかし、それは空のウィンドウを起動します。
私は何を間違えましたか?どうすれば動作させることができますか?
問題は、アプリに QML ファイルと必要なすべてのアイコンを同梱する必要があることです。最も簡単な解決策は、すべての qml およびアイコン ファイルを Qt リソース ファイル (.qrc) に配置し、qrc から QQuickView をロードする C++ ランチャーを実行することです。
#include <QGuiApplication>
#include <QQuickView>
int main (int argc, char ** argv) {
QGuiApplication app (argc, argv);
QQuickView view (QUrl("qrc:/main.qml"));
view.setTitle (QObject::tr("My App"));
view.setResizeMode (QQuickView::SizeRootObjectToView);
view.showNormal ();
return app.exec ();
}
次に、全体をコンパイルするだけで、QML、SVG、PNG ファイルが C++ プログラムにコンパイルされるため、リソースを気にせずにバイナリを出荷するだけで済みます。