Qt 4アプリを移行して、代わりにQt 5を使用したかったのです。 これらの指示 失敗、 [〜#〜] mxe [〜#〜] はQt 5をビルドする方法の違いにより、代わりにモジュール化されたQt tarballを使用するという事実を含む1つの大きなtarballの。
完全な手順は次のとおりです。
それを得る:
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 qt5
の代わりにmake qtbase
を実行する必要があります。完了するまでにかなり時間がかかることに注意してください。追加の機能が必要になることを確認してください。
アプリのディレクトリに移動し、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
です。
Git checkoutコマンドが正しくありません。安定したブランチを取得する必要があります。そうしないと、ビルドに失敗します。
git clone https://github.com/mxe/mxe.git
あるべき...
git clone -b stable https://github.com/mxe/mxe.git
それだけで、qtbaseのビルドに関するすべての問題が修正されましたが、完了したらqtフォルダーは残されません。その後、qt5ターゲットは不明瞭なエラーで失敗します。フォルダーを削除し、安定版をチェックアウトし、問題なく動作しました。
あなたがこれをしようとすると、私にとってはうまくいきます!
su
mv mxe /opt/mxe
cd /opt/mxe && make