我正在尝试使用 Mingw-w64 的 32 位编译器交叉编译 Qt5。主机平台是 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 演示 \ -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
那么如何让 Qt 相信我有可用的 OpenSSL 库呢?我已经尝试过-force-pkg-config
国旗,但没有任何区别。