Qtプログラミングは初めてで、Windows、Linux(ubuntu)、およびMacで実行したいプログラムを開発したいと考えています。
Qtはマルチプラットフォームのアプリケーション開発に対応していると聞いたのですが、
しかし、私の質問は、
展開またはコンパイルした後、Qt ライブラリはこれらのアプリケーションを Ubuntu で実行する必要がありますか?
Qtプログラミングは初めてで、Windows、Linux(ubuntu)、およびMacで実行したいプログラムを開発したいと考えています。
Qtはマルチプラットフォームのアプリケーション開発に対応していると聞いたのですが、
しかし、私の質問は、
展開またはコンパイルした後、Qt ライブラリはこれらのアプリケーションを Ubuntu で実行する必要がありますか?
Ubuntu にデプロイし、したがって .deb パッケージを使用する場合、依存関係として qt を要求するだけで apt が必要に応じて自動的にインストールするため、作業は簡単です。
ただし、Windows と Mac には「優れた」ソフトウェア管理レイヤーがないため、必要な Qt DLL をバイナリに含めるか、静的なものをコンパイルするしかありません。Windows では、DLL がプログラムと同じディレクトリにあることを確認する必要があります。ただし、Mac では再リンクを行う必要があります。これは大きな苦痛ですが、幸いなことに Qt には、macdeployqt
これを行う という名前のツールが付属しています。
したがって、私の経験によると、Linux は展開するのに最も簡単なプラットフォームであり、次に Windows が続き、Mac は適切な最後です。
上記の Qt 展開ドキュメントへのリンクは、良い出発点です。例が必要な場合は、私のプログラムの Windows バイナリをビルドするスクリプトをいくつか書きました。これらを見て開始することができます。
Windows インストーラー:
http://gitorious.org/tagaini-jisho/tagaini-jisho/blobs/master/pack/win32-cross/buildwin32releases.sh
http://gitorious.org/tagaini-jisho/tagaini-jisho/blobs/ master/pack/win32-cross/たがいにじしょう.nsi
ここで Linux 側について言えば、アプリケーションをパッケージ (deb、rpm) として配布する場合、パッケージの依存関係ルールを使用できます。これらのルールを正しく定義すると、パッケージ マネージャーは、アプリケーションのインストール時に必要な Qt ライブラリをインストールします。