Parallelbetrieb von QT minGW/Visual Studio und QtCreator

Verschiedenes zu Qt
Antworten
PhilippM
Beiträge: 41
Registriert: 11. Dezember 2005 14:02
Wohnort: Darmstadt
Kontaktdaten:

Parallelbetrieb von QT minGW/Visual Studio und QtCreator

Beitrag von PhilippM »

Hallo,

ich hab gerade mal wieder einen ziemlichen Hals auf die vielgerühmte "Plattformunabhängigkeit".

Mein Problem ist folgendes: Mein Projekt braucht unter windows eine Funktionalität einer library, die ich mit MinGW/gcc ums verrecken nicht benutzen kann. Das wurde mir seitens anderer User dieser Library bestätigt. Ich MUSS dann mit Visual Studio kompilieren. Jetzt hab ich die Umgebungsvariablen für die VS-Integration anhand dieses Tutorials http://jan-stuhlmann.de/index.php?i=tutorials#3 gesetzt und es geschafft eine TEMPLATE = vcapp .pro mit qmake -tp vc ein Visual Studio Projekt zu kreieren. Visual C++ 2008 express lädt das auch, kompiliert auch, scheitert dann aber am linken der qtmain.lib. Eine kurze Suche ergibt, dass es in QT/4.4.3/lib nur eine libqtmain.a, aber keine .lib gibt, woraus ich messerscharf folgere, dass minGW zwar sowohl .a als auch .lib statisch reinlinken kann, vc aber nur .lib. Was wiederum heißt, dass ich eine speziell .lib kompilierte qt-version brauche. Das heißt, ich muss mir erstmal mit visual studio eine eigene Qt-distro kompilieren, richtig?

Nun weiter im Text: Wenn ich diese habe, kann ich meine Qt distros parellel installiert haben, so dass ich standardmäßig auf der mingw arbeite, aber visual studio mit der visual studio kompilierten version ?

So und jetzt zum ulitmativen Overkill:
Kann ich, wenn ich eine VC-kompatible Qt-version in einem verzeichnis habe, QT Creator so einrichten, dass er mit visual c++ kompiliert, statt mit minGW? Hieße dass, dass ich gar keine vcapp mehr bräuchte um eine visual-studio-projektdatei zu erzeugen, die ich dann in selbigem importieren müsste, sondern ich direkt aus dem QT-Creator quasi auf der kommandozeilenversion von visual c++ kompilieren kann?

Hat so ein Setup schonmal jemand versucht?

Gruß,
Phil
www.vas-project.org
The Virtual Avionics Suite
for MSFS and X-Plane
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Du musst Qt schon für mingw und für msvc separat kompilieren - einfach zwei verschiedene Verzeichnisse und fertig.

QtCreator kann nicht mit MSVC umgehen (warum auch).
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
PhilippM
Beiträge: 41
Registriert: 11. Dezember 2005 14:02
Wohnort: Darmstadt
Kontaktdaten:

Beitrag von PhilippM »

Christian81 hat geschrieben: QtCreator kann nicht mit MSVC umgehen (warum auch).
Aber im Qt-Creator manual heißt es sinngemäß, man könne zwar mit visual c++ kompilieren, aber nicht debuggen (weil gdb die debugsymbole von mscv nicht versteht).
www.vas-project.org
The Virtual Avionics Suite
for MSFS and X-Plane
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Na klar - die von qmake erzeugten Makefiles (nicht vcproj!) in QtCreator kompilieren geht. Aber das ist keine Kunst.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
PhilippM
Beiträge: 41
Registriert: 11. Dezember 2005 14:02
Wohnort: Darmstadt
Kontaktdaten:

Beitrag von PhilippM »

Christian81 hat geschrieben:Na klar - die von qmake erzeugten Makefiles (nicht vcproj!) in QtCreator kompilieren geht. Aber das ist keine Kunst.
Also ich kann im Qt-Creator die qmake-kreierte makefiles mit MSVS-compiler kompilieren? Also quasi kommandozeilen MSVC im Qt-creator?

Wenn ja, wie muss ich dafür die Build-Settings einstellen?
Wenn das keine Kunst ist, dann erkläre es mir unwissendem doch einmal bitte :)
www.vas-project.org
The Virtual Avionics Suite
for MSFS and X-Plane
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Du hast mich falsch verstanden - einem Programm ist es egal wie das Makefile aussieht welches es mittels make ausführt. Es sollte also dem QtCreator keine Probleme machen auch Makefiles für msvc auszuführen. Wo man das einstellt weiß ich nicht - ich benutze das Programm nicht
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
PhilippM
Beiträge: 41
Registriert: 11. Dezember 2005 14:02
Wohnort: Darmstadt
Kontaktdaten:

Beitrag von PhilippM »

Das tolle ist, man muss garnichts einstellen. PATH anpassen und die Sache ist geritzt. Wenn qt-creator das qmake aus der qt-vs-distro nimmt, werden automatisch makefiles für nmake erzeugt und der cl baut das ding. Ohne dass ich was ändern musste. Und wenn ich den PATH wieder auf die andere Distro Mappe läufts wieder mit MinGW. So lob ich mir das.

Jetzt brauch ich nur noch ein .bat script, was mir die Umgebungsvariable ändert. Kann das jemand?
www.vas-project.org
The Virtual Avionics Suite
for MSFS and X-Plane
Antworten