Я пытаюсь перекрестно скомпилировать Qt5 с 32-битным компилятором Mingw-w64. Хост-платформа - 64-битная Ubuntu 12.10, а целевая платформа - 32-разрядная Windows. Мне удалось перекрестно скомпилировать библиотеку OpenSSL и установить кросс-скомпилированные двоичные файлы/библиотеки/включает в себя: ~/i686-w64-mingw32
.Как получить Qt5 ./configure, чтобы найти мои кросс-скомпилированные библиотеки OpenSSL?
Проблема возникает, когда я пытаюсь настроить Qt. Я использую следующую команду:
PKG_CONFIG_PATH=~/i686-w64-mingw32/lib/pkgconfig ./configure -prefix \ ~/i686-w64-mingw32 -opensource -confirm-license -release -nomake demos \ -nomake examples -xplatform win32-g++ -device-option \ CROSS_COMPILE=i686-w64-mingw32-
qmake
двоичные успешно компилирует для принимающей платформы, а также список всех разрешенных функций отображаются:
... ODBC support ........... plugin SQLite support ......... plugin (qt) OpenSSL support ........ no
Что здесь происходит? Кажется, что 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
, но это не имело значения.