Qt5 を Mingw-w64 の 32 ビット コンパイラでクロスコンパイルしようとしています。ホスト プラットフォームは Ubuntu 12.10 64 ビットで、ターゲット プラットフォームは 32 ビット Windows です。OpenSSL ライブラリをクロスコンパイルし、クロスコンパイルされたバイナリ/ライブラリ/インクルードを にインストールしました~/i686-w64-mingw32
。
Qt を構成しようとすると、問題が表面化します。次のコマンドを使用しています。
PKG_CONFIG_PATH=~/i686-w64-mingw32/lib/pkgconfig ./configure -prefix \ ~/i686-w64-mingw32 -opensource -confirm-license -release -nomake demos \ -nomake の例 -xplatform win32-g++ -device-option \ CROSS_COMPILE=i686-w64-mingw32-
バイナリはqmake
ホスト プラットフォーム用に正常にコンパイルされ、有効なすべての機能のリストが表示されます。
... ODBC サポート ...........プラグイン SQLite サポート ......... プラグイン (qt) OpenSSL のサポート ...........いいえ
何が起きてる?どうやら Qt が OpenSSL のインクルードを見つけられないようです。構成プロセス中にフラグをオンにすると、-v
これが確認されます。見つからないというエラーが表示されますopenssl/opensslv.h
。
pkg-config
したがって、私の次のステップは、それが実際に機能していることを確認することでした:
PKG_CONFIG_PATH=~/i686-w64-mingw32/lib/pkgconfig pkg-config --libs openssl
そして、それは次のように見えました:
-L/home/nathan/i686-w64-mingw32/lib -lssl -lcrypto
では、OpenSSL ライブラリが利用可能であることを Qt に納得させるにはどうすればよいでしょうか? 私は-force-pkg-config
フラグを試しましたが、違いはありませんでした。