Cross kompilacja dla linux-arm pod Windows (Qt 5.2)
-
Ktoś może walczył z tematem cross kompilacji pod systemem windows ?
Prubowałem metody opisanej tutaj:
http://stackoverflow.com/questions/11511994/qt-4-8-cross-compile-for-embedded-linux-using-linaro-toolchain-from-windowsTylko że to dotyczy wersji Qt 4.8, a odnoszę że w najnowszej wersji coś sie pozmieniało.
Ja to zrobiłęm podobie
[1] Moj qmake.conf
https://github.com/mariuszekpl/qt52-cross-compile-tegra2-windows-scripts/blob/master/try_0001/qmake.conf
Wrzuciłęm do katalogu qtbase\mkspecs\linux-arm-gnueabi-g++[2] Uruchamiam configure.bat
configure.bat -xplatform linux-arm-gnueabi-g++ -no-opengl -no-neon -nomake tests -opensource -confirm-license[3] mingw32-make
Rozpoczyna sie kompilacja i po paru minutach się przerywaProblem 1) configure.exe stworzyło niepoprawny plik qconfig.cpp
(porównałem z wersja kompilowaną linux->linux-arm)
Brakuje w nim deklaracji qt_configure_settings_path_str oraz QT_CONFIGURE_SETTINGS_PATH
Wiec szukam skad to się bierze i znalazłem w zródłach configure.exe taki warunek:@ if ((platform() != WINDOWS) && (platform() != WINDOWS_CE) && (platform() != WINDOWS_RT))
tmpStream << "#define QT_CONFIGURE_SETTINGS_PATH qt_configure_settings_path_str + 12;" << endl;@Wyglada wiec że nie rozpoznał platformy linux, szukam dalej w platform()
Funkcja zwraca
@enum Platforms {
WINDOWS,
WINDOWS_CE,
WINDOWS_RT,
QNX,
BLACKBERRY,
ANDROID
};@
Linux nie jest obsługiwany przez configure.exe ?Problem 2)
Zagladam a Makefile dla "libQt5Core" a tam taki kwiatek@TARGET = libQt5Core5.dll
DESTDIR_TARGET = ....\lib\libQt5Core5.dll
@Plik co prawda nie zdarzył sie skompilować , ale z tego co widziałem to wszystki pliki obj sa dla linux-a.
Tylko widać rozszerzenie jest błedneKtoś może mi podpowiedzieć jak skompilować sobie narzędzie abym mógł pod windows tworzyć programy dla linux-arm ? Dodam że pod ubuntu kompilacja działą bez problemu ale niestety musze używać windows-a.
Szukałem też na zleceniaprzez.net ale nikt nie znalazł sie chetny :(
-
Działa !
Co prawda nie jest w 100% automatycznie i w paru (dwoch) miejscach muszę recznie poprawić pliki ale Qt sie kompiluje i udało mi sie skompilować aplikację za pomocą :
qmake & mingw32-make
Oraz udało się skompilować w QtCreator :)Recznie musiałem porawić
qtbase\mkspecs\qconfig.pri
QT_CONFIG += xkbcommon-qtqtbase\src\corelib\global\qconfig.cpp
Dodałem QT_CONFIGURE_SETTINGS_PATHJak to trochę ogarnę to opublikuje pełny opis