Static build



  • Witam!
    Mam problem z kompilacją Qt do wersji umożliwaiającej tworzenie aplikacji ze statycznie dołączonymi bibliotekami. Proszę o informację, co robię nie tak jak trzeba:
    Postępuje zgodnie z "instrukcją":http://qt-project.org/doc/qt-5.1/qtdoc/install-win.html (a przynajmniej tak mi się wydaje):

    1. Ściągnąłem i zainstalowałem gotowy pakiet Qt 5.1.1 for Windows 32-bit (MinGW 4.8, OpenGL, 666 MB) .
    2. Ściągnąłem pliki źródłowe "qt-everywhere-opensource-src-5.1.1.zip"
    3. Pliki źródłowe wypakowuję do C:\Qt\5.1.1_static
    4. Uruchamiam konsolę z opcjami:
      @set PATH=c:\qt\5.1.1_static\qtbase\bin;c:\qt\5.1.1_static\qttools\bin;c:\qt\5.1.1_static\gnuwin32\bin;C:\Qt\Tools\mingw48_32\bin;%PATH%
      set QMAKESPEC=win32-g++@
      @configure -platform win32-g++ -static -release
      (........)
      c:\Qt\5.1.1_static>mingw32-make
      cd qtbase/ && ( test -e Makefile || C:/Qt/5.1.1_static/qtbase/bin/qmake C:/Qt/5.
      1.1_static/qtbase/qtbase.pro -o Makefile ) && mingw32-make -f Makefile
      mingw32-make[1]: Entering directory 'c:/Qt/5.1.1_static/qtbase'
      cd src/ && ( test -e Makefile || C:/Qt/5.1.1_static/qtbase/bin/qmake C:/Qt/5.1.1
      _static/qtbase/src/src.pro -o Makefile ) && c:/Qt/Tools/mingw48_32/bin/mingw32-m
      ake -f Makefile
      /usr/bin/sh: c:/Qt/Tools/mingw48_32/bin/mingw32-make: Invalid argument
      Makefile:41: recipe for target 'sub-src-make_first' failed
      mingw32-make[1]: *** [sub-src-make_first] Error 126
      mingw32-make[1]: Leaving directory 'c:/Qt/5.1.1_static/qtbase'
      makefile:56: recipe for target 'module-qtbase-make_first' failed
      mingw32-make: *** [module-qtbase-make_first] Error 2

    c:\Qt\5.1.1_static>@


  • Moderators

    Zamiast czystego make, buduj target sub-src:
    @
    mingw32-make sub-src
    @



  • Póbowałem już różnych wersji, tej także:

    @c:\Qt\5.1.1_static>mingw32-make sub-src
    mingw32-make: *** No rule to make target 'sub-src'. Stop.
    c:\Qt\5.1.1_static>@


  • Moderators

    Przejdź na Linuxa, tam jest prosto :P

    Jeszcze nie budowałem Qt5 statycznie, może są jakieś dodatkowe problemy. Q Qt4 jest dość prosto, nawet na Windowsie. Masz wszystkie dependencies? Perl, Python, Ruby, ICU? Zerknij tu: "link":http://qt-project.org/wiki/Building-Qt-5-from-Git.



  • Trzeba zainstalować wszystkio: Perl, Python, Ruby, ICU? Myślałem, że wystarczy mingw32 dostarczony razem z Qt5.1.1.
    Aplikacja powinna działać pod WIN, więc nie chcę sobie komplikować spraw.


  • Moderators

    To zależy. Możesz pominąć ICU (dodaj -no-icu do configure), można też pominąć Pythona i Ruby (dodaj -skip webkit). Od Perla nie uciekniesz (póki co. W Qt 5.3 mają pozwolić na budowanie również bez Perla, w niektorych przypadkach).



  • Dzięki za podpowiedź, będę próbował z Perlem.
    A tak na marginesie: nie ma innego sposobu na statyczne dołaczenie bibliotek do projektu?


  • Moderators

    Jeśli mówisz o bibliotekach Qt, to nie innego sposobu :) Jeśli o jakichś własnych czy innych, to Qt nie ma nic do tego.

    Pamiętaj też, że linkowanie statyczne prawie w 100% przypadków łamie zasady licencji LGPL. Także albo wybierasz licencję GPL i publikujesz swój kod, albo kupujesz od Digii komercyjną licencję. Albo pytasz prawnika :P

    Jak masz parę rdzeni w kompie to dorzuć jeszcze -j do make'a, będzie szybciej.


Log in to reply
 

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