Seite 1 von 1

QT und Visual Studio 2015

Verfasst: 10. Dezember 2015 21:58
von MissSpock
Hallo,
ich bin neu hier und versuche mal mein Problem zu schildern (Integration von QT 5.6.0 in Visual Studio 2015 (x86), PC: Windows 10 x64).
Ich habe mir QT 5.6.0 heruntergeladen und nach einem verfügbaren Tutorial eingerichtet:
  • Download: http://download.qt.io/development_re...-alpha/single/
    Setzen der Path-Systemvariablen
    Öffnen des VS Command Promts und aufrufen der folgenden Befehle:
    • "Microsoft Visual Studio 14.0\VC\bin\vcvars32.bat"
      "configure -platform win32-msvc2015" (im Ordner ...\5.6.0\qtbase)
      "jom"
    Anschließend VS öffnen und unter "QT5 -> QT Options" den Pfad setzen.
    Nun ein neues Projekt erzeugen: "File -> New -> project -> QT5 projects -> QT Application"

Jetzt kommt das Problem wenn ich das Projekt ausführen möchte:
Folgende Dinge können eingestellt werden:
  • Rechtsklick auf das Projekt -> Properties -> Configuration Properties -> Linker -> Advanced -> Target Machine
    Build -> Configuration Manager
    Rechtsklick auf das Projekt -> QT Project Settings -> Version
Wenn ich eine Versionsnummer (5.6.0) eingebe wird im Configuration Manager das Projekt auf x64 gestzt (bei dem Versuch es auch win32 zu setzen kommt ein Fehler in der main.cpp und die Versionsnummer wird gelöscht)

Im Falle keiner Versionsnummer bekomme ich die Fehlermeldung: "There's no Qt version assigned to this project for platform Win32..."

Stelle ich die Versionsnummer ein und starte mit x64 erhalte ich die folgende Fehlermeldung: "
fatal error LNK1112: module machine type 'x86' conflicts with target machine type 'x64'"

Ich hoffe die Beschreibung ist verständlich und natürlich hoffe ich noch viel mehr, dass mir hier jemand helfen kann

Gruß

Re: QT und Visual Studio 2015

Verfasst: 11. Dezember 2015 06:30
von Christian81
Was für eine Qt-Integration ist das? Ich benutze sowas nicht - nur direkt CMake, deshalb habe ich keine Ahnung was da falsch sein könnte.
Außerdem - warum eine Alpha-Version, warum nur QtBase? Kann es sein, dass die Qt-Integration ein anderes (64Bit) Qt findet?

Re: QT und Visual Studio 2015

Verfasst: 13. Dezember 2015 17:04
von MissSpock
Christian81 hat geschrieben:Was für eine Qt-Integration ist das? Ich benutze sowas nicht - nur direkt CMake, deshalb habe ich keine Ahnung was da falsch sein könnte.
Außerdem - warum eine Alpha-Version, warum nur QtBase? Kann es sein, dass die Qt-Integration ein anderes (64Bit) Qt findet?
Hi Christian81,
erstmal danke für deine Antwort.
Ich möchte eine Integration derart, sodass ich in Visual Studio 2015 sagen kann Neues Projekt -> QT Application und dann wie bei Windows Forms mir eine schöne Oberfläche zusammenklicken kann. Da ich noch nie vorher mit QT zu tun hatte habe ich mich bei den oben genannten Schritten an folgendem Tutorial orientiert: https://www.youtube.com/watch?v=nBHkeCVMJqM

Ich kenne mich mit CMake nicht aus.
Könntest du mir da etwas weiterhelfen? Also die Fragen wären dann: welche QT Version muss ich runterladen und wie muss ich dann mit CMake umgehen? Kennst du vielleicht eine Seite mit Tutorial dafür?
Die Alpha Version weil ich es stupide nach dem Tutorial gemacht habe :oops:

Ich habe keine andere QT Version (64 bit) installiert, sodass er eigentlich keine falsche finden kann.

Danke und Gruß

Re: QT und Visual Studio 2015

Verfasst: 13. Dezember 2015 19:20
von Christian81
Ich habe nicht gesagt, dass man CMake benutzen soll sondern nur, dass ich CMake benutze und keine Qt-Integration.

Re: QT und Visual Studio 2015

Verfasst: 14. Dezember 2015 10:40
von RHBaum
Die Qt integration ist nicht dein problem .....

Visual Studio ist glaub ich immer noch ne 32bit App und das Qt Plugin damit ebenso
Ist dir aber auch egal, weil das ist ja nur das tool zum bilden, und das kann auch 64 bit
bei dem Versuch es auch win32 zu setzen
D.h du willst nen 32bit Build richtig ?

Wenn ich eine Versionsnummer (5.6.0) eingebe wird im Configuration Manager das Projekt auf x64 gestzt
D.H. deine Qt version, auf die du grad verweisst, ist nen 64 bit build
Der Rest der geschilderten Symptome deutet ebenfalls darauf hin ....
"Microsoft Visual Studio 14.0\VC\bin\vcvars32.bat"
"configure -platform win32-msvc2015" (im Ordner ...\5.6.0\qtbase)
"jom"
Sieht aufm ersten blick richtig aus ... das sollte nen 32bit build bauen ....

sicher das die Qt Version die da einstellen willst, auch das ist, was da grad gebaut hasst ?

Was deine dlls für ne version haben, kriegst recht simpel raus ....
den dependency Walker für 32bit und 64 bit runterladen .... unter windows wenn viel mit dlls machst (modular programmieren) eh Pflicht.
und mit der 32er version einfach mal versuchen deine dll zu öffnen. wenn er rumgeifert, wars ne 64bit version.
so kannst checken was er gebaut hat
http://www.dependencywalker.com/

CMake:
Visual Studio ist ne Super IDE .... was aber nen krampf da ist, ist das Projekt und configurations-managment
mit etwas einarbeitungszeit bekommt man das aber hin, mit diesen Projekt sheets da was zu bauen und eigene standard einstellungen zu machen, aber Comfort ist anders.
Und nicht jeder kann und mag Visual Studio. grad bei Plattformübergreifenden projekten .....

Hier kommen die Buildgeneratoren ins Spiel ....

das sind scripte/scriptsprachen, die dir dein Projektmanagment übernehmen. Du klickst also dein Projekt nimmer zusammen, sondern du scriptest es.
Vorteil - hochgradig flexibel
Nachteil - lernaufwand (neue Sprache)

die Kandidaten sind:
cmake, qmake, boost-build (jam) ... und abartige formen von gradle(java), scons (python) usw.
die ersten 3 sind eher nennenswert vertreten.

Der Platzhirsch ist cmake .... auch wenn hier im Forum naturgemäß einige der Meinung sind, das die Welt sich um qmake dreht ^^
D.h. mittlerweile wird nen großteil der ernstzunehmenden 3d party libs mit cmake scripten ausgeliefert, zum selbstbauen.
D.h. auf Lange Sicht musst dich eh mit beschaeftigen ^^

Qt ist dabei so locker und funktioniert fast transparent ohne qmake aufrufe, obwohls es intern sicher genutzt wird ...
Boost bauen mit boost build ... da gibts zum glück genug anleitungen, auch wenn da den builder (bjam, b2) direkt aufrufst ...

Also wenn du lernkapazität frei hasst, dann wär mein tipp cmake ...
Wenn du aber noch mit c++ und so kämpfst, und 3d party biblios, abgesehen vom mainstream (stl, qt boost) , noch keine großen Themen sind, dann konzentirer dich auf anderes :-) behalt es aber im Hinterkopf ...

Ciao ...