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-windows

    Tylko ż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ę przerywa

    Problem 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łedne

    Ktoś 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-qt

    qtbase\src\corelib\global\qconfig.cpp
    Dodałem QT_CONFIGURE_SETTINGS_PATH

    Jak to trochę ogarnę to opublikuje pełny opis


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.