Qt brak ustawionego debugera

0

Używam Windows 7 64 bit. Mam zainstalowane VS C++ Express Edition 2010 SP1 oraz VS C++ Express Edition 2012 for Windows Desktop (Update 3). Teraz zainstalowałem Qt 5.1.1 for Windows 64-bit (VS 2012, OpenGL, 522 MB). Przy próbie użycia debugera dostaję informację: "brak ustawionego debugera". Z informacji, które znalazłem wynika, że powinienem zainstalować Microsoft Windows SDK for Windows 7 and .NET Framework 4 (ISO)(najlepiej poprzez ISO, bo z instalatorem online bywają kłopoty).

Skoro mam Windows 64 bitowy to powinienem wybrać ISO x64 ?

W Qt przy tworzeniu nowego projektu w kroku "wyboru zestawu narzędzi" ścieżki Debug i Release kończą się tak:
\build-TestConsole-Desktop_Qt_5_1_1_MSVC2012_OpenGL_64bit-Debug
\build-TestConsole-Desktop_Qt_5_1_1_MSVC2012_OpenGL_64bit-Release

Do czego odnosi się to 64 bit ? Do systemu operacyjnego ? Czy do tego, że aplikacja będzie 64 bitowa ?

Z tego co wiem VS C++ EE 2012 posiada kompilatory 32 i 64 bit, ale na 64 bitowym systemie operacyjnym i tak domyślnie tworzone są aplikacje 32 bitowe.

0

Skoro mam Windows 64 bitowy to powinienem wybrać ISO x64 ?

Tak. Wersję SDK instaluje się taką, jaki ma się system. Niezależnie od tego, czy program będziesz kompilował na 32 czy 64 bity.

Na potrzeby debugera w Qt, w instalatorze wystarczy wybrać samo "debugging tools", resztę można wyłączyć.

(najlepiej poprzez ISO, bo z instalatorem online bywają kłopoty).
To prawda.

W Qt przy tworzeniu nowego projektu w kroku "wyboru zestawu narzędzi" ścieżki Debug i Release kończą się tak:
\build-TestConsole-Desktop_Qt_5_1_1_MSVC2012_OpenGL_64bit-Debug
\build-TestConsole-Desktop_Qt_5_1_1_MSVC2012_OpenGL_64bit-Release

Do czego odnosi się to 64 bit ? Do systemu operacyjnego ? Czy do tego, że aplikacja będzie 64 bitowa ?
Do tego, że aplikacja będzie 64 bitowa.

Z tego co wiem VS C++ EE 2012 posiada kompilatory 32 i 64 bit, ale na 64 bitowym systemie operacyjnym i tak domyślnie tworzone są aplikacje 32 bitowe.
Tak, ale ty, jak się domyślam, nie używasz Visual Studio tylko QtCreatora. To osobne IDE, które ma swoje własne zwyczaje:

Teraz zainstalowałem Qt 5.1.1 for Windows 64-bit (VS 2012, OpenGL, 522 MB
Ściągnąłeś 64-bitowe Qt, więc programy ci będzie kompilowało na 64 bity. Doinstaluj 32-bitowe, jeśli akurat taka kombinacja jest do ściągnięcia (ale chyba nie ma 32-bitowej wersji z OpenGL dla VS2012, trzeba sobie samemu skompilować).

Z góry uprzedzam, że wersja bez OpenGL jest bardziej problematyczna: program wymaga jeszcze więcej DLL-ek, i nie chodzi na WinXP.

0

Instalka Qt nazywa się "for Windows 64 bit", więc niekoniecznie musi to oznaczać, że tworzy tylko aplikacje 64 bitowe. Przynajmniej ja tak pomyślałem. Może się to odnosić do samych komponentów SDK jak Qt Creator, który jako IDE może być wykonany jako 64 bitowa aplikacja. Czy w wypadku Qt for Windows 64 bit Qt Creator też jest 64 bitowy ? Jeśli chodzi o VS C++ EE 2012 to jako IDE występuje on tylko w wersji 32 bit, chociaż pozwala tworzyć aplikacje 32 i 64 bit.

0

Czy w wypadku Qt for Windows 64 bit Qt Creator też jest 64 bitowy ?
Nie wiem, jedyny 64-bitowy system jaki mam to maszyna wirtualna, więc nie ściągam 64-bitowych wersji programów.

0

Wracają jeszcze do OpenGL'a - ściągnąłem paczkę, która go zawiera bo zamierzam go używać w wersji desktopowej (profil 4.0+ Core). W sumie nie zależy mi specjalnie na klasach, które opakowują jakoś funkcjonalność API, np. QOpenGLBuffer (takimi rzeczami wolę zająć się sam), lecz na wygodnym tworzeniu kontekstu, powiązaniu go z oknem i uzyskaniu dostępu do funkcji API w profilu, który używam. Instalka Qt w wersji bez OpenGL chyba nie pozwala na nic więcej niż OpenGL ES 2 ? Jak wygląda w niej sprawa z dodatkowymi klasami, które opakowują API ?

0

Nie wiem. Niezależnie od tego którą wersję Qt ściągnąłeś, zawsze możesz olać klasy, użyć systemowych nagłówków do OpenGL (albo GLEW) i zainicjować kontekst po staremu.

0

Instalacja SDK się nie powiodła, sprawdziłem logi:
DDSet_Error: Patch Hooks: Missing required property 'ProductFamily': Setup cannot continue.
DDSet_Warning: Setup failed while calling 'getDLLName'. System error: Cannot create a file when that file already exists.

To wynika z tego, że trzeba zachować określony porządek instalacji.

  1. Mam odinstalować SP1 od VS 2010, potem SDK, potem z powrotem SP1 i na sam koniec Compiler Updates ?
  2. Jest sens instalować cały SDK ?
  3. Minimum dla moich potrzeb to Common Utilities -> Debugging Tools for Windows czy muszę też zainstalować Redistributable Packages - Debugging Tools ?
1

Instalacja SDK się nie powiodła, sprawdziłem logi:
Odinstaluj Visual C++ Redistributable dla 2010 (x86 i x64), zainstaluj Debugging Tools i zainstaluj ponownie Redistributable stąd.

SP1 zostaw. Compiler Update nie potrzebujesz, bo instalujesz tylko debugging tools.
(Compiler Update zawiera kompilator 2010 SP1. Goły SDK 7.1 zawiera kompilator 2010)

  1. Jest sens instalować cały SDK ?
    Raczej nie. Lekko okrojoną wersję SDK masz w Visualu (okrojoną m.in. o debugging tools jak się okazuje)
  1. Minimum dla moich potrzeb to Common Utilities -> Debugging Tools for Windows czy muszę też zainstalować Redistributable Packages - Debugging Tools ?
    To pierwsze.

1 użytkowników online, w tym zalogowanych: 0, gości: 1