Linuxで.proファイルをコンパイルして、Windowsを実行可能にしようとするのに苦労しました。私はmingwの使用に関する世界のすべてのリンクを読みましたが、まだ何も機能していません。私が見逃しているものがありますか、またはこれを行う方法について誰かが本当に良いステップを持っていますか?
Ubuntu 14.04.2 QT 4.8
次の手順は、 スタックオーバーフロー に関する投稿の回答から取られたものです。qt4を使用してビルドする場合、機能する場合は必ず投票してください。
Mクロス環境(MXE) を使用するだけです。プロセス全体の痛みを取り除きます。
それを得る:
git clone https://github.com/mxe/mxe.git
Qt for Windows、その依存関係、およびクロスビルドツールをビルドします。適切なインターネットアクセスが可能な高速マシンでは、これには約1時間かかります。ダウンロードは約500MBです。
cd mxe && make qt
アプリのディレクトリに移動し、クロスビルドツールをPATH環境変数に追加します。
export PATH=<mxe root>/usr/bin:$PATH
Qt Makefileジェネレーターツールを実行してからビルドします。
<mxe root>/usr/i686-pc-mingw32/qt/bin/qmake && make
バイナリは./releaseディレクトリにあります。
wine release/foo.exe
いくつかのメモ:
MXEリポジトリのmasterブランチを使用してください。開発チームからより多くの愛を得るようです。
出力は32ビットの静的バイナリであり、64ビットWindowsで適切に機能します。
次の手順は、 スタックオーバーフロー の投稿に対する回答から取得されます。qt5を使用してビルドする場合、それが機能する場合は必ず投票してください。
完全な手順は次のとおりです。
それを得る:
git clone https://github.com/mxe/mxe.git
Windows向けQt 5のビルド:
cd mxe && make qtbase
これにより、最初に依存関係とクロスビルドツールがビルドされます。適切なインターネットアクセスが可能な高速マシンでは、1時間未満で完了します。
Qt 5の新しいモジュール性により、さまざまな主要Qtコンポーネントが異なるtarballに含まれるようになりました。上記で選択したqtbaseは、通常のGUIアプリを実行するのに十分な機能を提供します。これは、自分の(小さな)アプリに必要なすべてです。
代わりにすべてのQt 5をビルドする場合は、make qtbaseの代わりにmake qt5を実行する必要があります。完了するまでにかなり時間がかかることに注意してください。追加の機能が必要になることを確認してください。
アプリのディレクトリに移動し、Qt Makefileジェネレーターツールを実行します。
<mxe root>/usr/bin/i686-w64-mingw32.static-qmake-qt5
プロジェクトをビルドします。
make
バイナリは./releaseディレクトリにあります。
wine release/foo.exe
いくつかのメモ:
これは私の64ビットDebian 8、そしてもちろんWindowsでテストされました。
出力は32ビットの静的実行可能ファイルであり、64ビットWindowsで正常に機能します。
64ビットの実行可能ファイルが必要な場合は、次を使用してQtをビルドします。
make MXE_TARGETS=x86_64-w64-mingw32.static qtbase
デフォルトのMXE_TARGETS値はi686-w64-mingw32.staticです。