QT 5.0 konfiguracja kompilatora



  • Witam,
    Mam problem z uruchomieniem projetu w Qt Creatorze. Przy próbie kompilowania wyświetla się błąd:
    "Do budowy Qt Creator wymaga ustawionego kompilatora. Skonfiguruj go w opcjach zestawu."

    Na liście automatycznie wykrytych kompilatorów jest Microsot Visual C++ Compiler. W automatycznie wykrytych wersjach Qt jest Qt 5.0.0 MSVC, ale wyświetla się błąd:
    "Żaden kompilator nie może wygenerować kodu dla tej wersji Qt. Zdefiniuj jeden lub więcej komopilatorów."

    Bardzo proszę o informacje jak powinien być skonfigurowany kompilator.



  • Witam,
    najprościej jest zainstalować następujące komponenty z "Windows SDK":http://www.microsoft.com/en-us/download/details.aspx?id=8279 :

    Windows Native Code Development->Windows Headers and Libraries->x86 Libraries
    Windows Native Code Development->Tools
    Windows Native Code Development->Visual C++ Compilers
    Common Utilities->Debugging Tools for Windows

    To jest minimum które pozwoli kompilować oraz debuggować projekty dla architektury x86. Jak potrzebujesz x64 to dodaj też x64 Libraries. Nagłówki nie są potrzebne jeżeli nie chcesz kompilować samego Qt.
    Jeżeli instalator SDK zakończy się niepowodzeniem, to sprawdź czy nie masz w systemie zainstalowanego pakietu Microsoft Visual c++ 2010 Redistributable. Usuń go, a nowy zostanie zainstalowany razem z SDK.

    Jeżeli wszystko się zainstaluje bez błędów, to Qt Creator powinien sobie wykryć elegancko dostępny kompilator. Żadna dodatkowa konfiguracja nie była przynajmniej u mnie potrzebna.


  • Moderators

    Jedna uwaga: Microsoft nie dba o binary compatibility. MSVC 2012/ 2008 lepiej nie używać do kompilacji programów opartych o Qt skompilowane przez MSVC 2010.



  • Zainstalowałem Windows SDK i Qt wykrywa teraz automatycznie kompilator. Jednak podczas kompilowania projektu wyświetla się kolejny błąd:

    16:15:50: Uruchamianie kroków budowania dla projektu GraWZycie...
    16:15:50: Konfiguracja niezmieniona, krok qmake opuszczony.
    16:15:50: Uruchamianie "C:\QtCommercial\QtCommercial5.0.0\Tools\QtCreator\bin\jom.exe"
    C:\QtCommercial\QtCommercial5.0.0\Tools\QtCreator\bin\jom.exe -f Makefile.Debug
    cl -c -nologo -Zm200 -Zc:wchar_t -Zi -MDd -GR -W3 -w34100 -w34189 -EHsc -DUNICODE -DWIN32 -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -I"........\QtCommercial\QtCommercial5.0.0\5.0.0\msvc2010\include" -I"........\QtCommercial\QtCommercial5.0.0\5.0.0\msvc2010\include\QtGui" -I"........\QtCommercial\QtCommercial5.0.0\5.0.0\msvc2010\include\QtCore" -I"debug" -I"." -I"........\QtCommercial\QtCommercial5.0.0\5.0.0\msvc2010\mkspecs\win32-msvc2010" -Fodebug\ @C:\Users\Daniel\AppData\Local\Temp\main.obj.4668.15.jom
    'cl' is not recognized as an internal or external command,
    operable program or batch file.
    jom: C:\Users\Daniel\Desktop\GraWZycie-build-Desktop_Qt_5_0_0_MSVC2010_32bit_SDK-Debug\Makefile.Debug [debug\main.obj] Error 1
    cl -c -nologo -Zm200 -Zc:wchar_t -Zi -MDd -GR -W3 -w34100 -w34189 -EHsc -DUNICODE -DWIN32 -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -I"........\QtCommercial\QtCommercial5.0.0\5.0.0\msvc2010\include" -I"........\QtCommercial\QtCommercial5.0.0\5.0.0\msvc2010\include\QtGui" -I"........\QtCommercial\QtCommercial5.0.0\5.0.0\msvc2010\include\QtCore" -I"debug" -I"." -I"........\QtCommercial\QtCommercial5.0.0\5.0.0\msvc2010\mkspecs\win32-msvc2010" -Fodebug\ @C:\Users\Daniel\AppData\Local\Temp\dane.obj.4668.31.jom
    'cl' is not recognized as an internal or external command,
    operable program or batch file.
    jom: C:\Users\Daniel\Desktop\GraWZycie-build-Desktop_Qt_5_0_0_MSVC2010_32bit_SDK-Debug\Makefile.Debug [debug\dane.obj] Error 1
    jom: C:\Users\Daniel\Desktop\GraWZycie-build-Desktop_Qt_5_0_0_MSVC2010_32bit_SDK-Debug\Makefile [debug] Error 2
    16:15:51: Proces "C:\QtCommercial\QtCommercial5.0.0\Tools\QtCreator\bin\jom.exe" zakończył się kodem wyjściowym 2.
    Error while building/deploying project GraWZycie (kit: Desktop Qt 5.0.0 MSVC2010 32bit (SDK))
    Podczas wykonywania kroku "Make"

    Czego dotyczy ten błąd?


  • Moderators

    O, hehe, Conway. Też jeden z moich pierwszych projektów w Qt :)

    [quote]‘cl’ is not recognized as an internal or external command[/quote]
    cl to binarka kompilatora w MSVC. Coś musi być nie tak ustawione, jak go nie widzi. Wejdź w ustawienia projektu is prawdź, tak samo w ustawieniach całego Qt Creatora. Potem zrób pełny rebuild (clean, run qmake, build).

    Chyba że jom coś nawala, też może tak być. Nie pamiętam jak go się przestawia na nmake, zbyt rzadko działam na Windowsie.



  • Na pewno zainstalowałeś komponent Windows Native Code Development->Tools z Windows SDK? Błąd dotyczący braku narządzi powstaje zazwyczaj z powodu jednej z dwóch przyczyn:

    • Brak zainstalowanych narzędzi;
    • Brak odpowiednich ścieżek środowiskowych (szczególnie dobrze ustawione PATH);

    Pierwsza wersja jest prosta do naprawy. Wystarczy upewnić się, że są zainstalowane odpowiednie komponenty.
    Drugi problem występuje zazwyczaj jeżeli są zainstalowane dwa lub więcej środowisk (SDK, VS2008, VS2010 etc) z czego któreś jest niekompletne. Jeżeli Qt Creator wybierze złe wtedy należy ręcznie ustawić inne. Wejdź w Narzędzia->Opcje->Budowanie i Uruchamianie->Zestawy kliknij w automatycznie wykryty Desktop Qt 5.0.0 MSVC... i zobacz jaki jest kompilator wpisany. Powinien być Microsoft Windows SDK for Windows... Szczególnie zwróć uwagę czy nie ma tam Microsoft Visual C++... Jeżeli tak jest, to sklonuj automatycznie wykryty zestaw i wybierz Windows SDK. Jeżeli masz już dodane ręczne zestawy to sprawdź najpierw w konfiguracji projektu z którego zestawu korzysta Twój projekt.



  • Narzędzia są zainstalowane, bo zrobiłem pełną instalację SDk. Automatycznie wykryty kompilator to właśnie Microsoft Visual C++. W opcjach można dodać tylko MinGW, GCC i Clang. Jak dodać Windows SDK?

    http://img600.imageshack.us/img600/848/beztytuufyy.jpg



  • Masz jakiś postęp w temacie? Windows SDK powinien zostać automatycznie wykryty. Nawet nie wiem, czy można go dodać ręcznie... U mnie zakładka 'Kompilatory' wygląda tak:
    http://www.freeimagehosting.net/ba3c2
    Zainstalowałem tylko:

    Podana konfiguracja działa na dwóch komputerach z Windows 7 Ultimate 32 bit.
    Instalacja na komputerach z Chakra Linux była już całkowicie bezproblemowa, ale to inna bajka :).



  • Zakładka kompilatory wygląda teraz u mnie tak samo jak na tym zdjęciu
    http://www.freeimagehosting.net/ba3c2

    Kompilator jest wykrywany automatycznie, ale pojawiły się kolejne błędy
    http://img59.imageshack.us/img59/1674/beztytuuvom.jpg

    Używam systemu Windos 8 Pro 32 bit


  • Moderators

    W Qt5 QApplication jest częścią QtWidgets.
    @
    // .pro
    QT += core gui widgets

    // c++
    #include <QtWidgets/QApplication>
    // lub prościej:
    #include <QApplication>
    @


Log in to reply
 

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