Qt Creator を使用して Qt アプリケーションをデプロイしています。Mac では、必要な Qt ライブラリを .app バンドルに含めたいと考えています。Qt Creator を使用して自動的に行う方法はありますか? コマンドラインを使用して実行する必要がありますか? その場合、どのようにすればよいですか?
3 に答える
macdeployqt コマンド ライン ツールは、Qt プロジェクトが参照する必要なすべての Qt ライブラリを追加します。
他のサードパーティ ライブラリが必要な場合は、これらを手動でコピーし、install_name_toolコマンドを使用してパスを設定する必要があります。
otool コマンドを使用して、アプリケーションが参照するライブラリを確認できます。例えば: -
otool -L MyApplication.app/Contents/MacOS/MyApplication
Qt Creator の場合、必要なライブラリを追加して macdeployqt を呼び出すスクリプトを作成し、[プロジェクト] の下にスクリプトを呼び出すビルド ステップを追加する傾向があります。
Qt ライブラリを追加するスクリプトの例は、次のようになります。
#!/bin/bash
pwd
echo Copying QT libraries...
macdeployqt ./MyApplication.app
実行するだけmacdeployqt foo.app
です。Qt Creator は、この機能をオフハンドでサポートしていません。ただし、QtCreator プロジェクト設定でカスタム コマンドをプロセスに挿入できます。
ただし、まだ QML をサポートしていません。コードレビュー中のパッチがあります。詳細については、次のリンクを参照してください。
https://codereview.qt-project.org/#q,status:open+project:qt/qttools,n,z
注: macdeployqt は、通常の開発およびデバッグには使用しないでください。これは、デプロイ時にのみ使用する必要があります。そうしないと、テスト用のマイナーチェンジでコードを再コンパイルするだけでも、ビルドのたびに実行されます。これにより、そのプロセスが遅くなる可能性がありますが、デプロイに関しては問題ありません。