Seite 1 von 1

QT 4.7 und Visual Studio 2010

Verfasst: 1. Oktober 2010 00:16
von rafilis1982
Ich hab mir gerade die neuste QT Version 4.7 für Windows heruntergeladen sowie das aktuelle Visual Studio Addin für 2010.

Dann habe ich QT mittels "configure -platform win32-msvc2010" konfiguriert. Er hat mir auch die qmake.exe erstellt.

Wenn ich jetzt aber unter Visual Studio 2010 versuche die QT Version hinzuzufügen, bekomme ich die Meldung "Das QT im angegeben Verzeichnis wurde mit MinGW gebaut"

Weiss jmd Rat?

Verfasst: 1. Oktober 2010 06:30
von Christian81
Sourcen runterladen, entpacken, configure.exe aufrufen, nmake aufrufen, fertig...
http://doc.troll.no/4.7/install-win.html

Verfasst: 1. Oktober 2010 10:14
von rafilis1982
Hab ich probiert, dann anschliessend nochmal "nmake distclean" aufgerufen und erneut configure versucht.

Diesmal hat er mir aber keine neue qmake.exe erstellt. Also "nmake confclean" aufgerufen und wieder configure ausgeführt. Es wurde eine neue qmake.exe erstellt.

Was ist der Unterschied zwischen distclean und confclean?

Dann erneut "nmake" aufgerufen und er bricht irgendwann mit einem fatal error ab.
api\qscriptextensionplugin.h(43): Error: Undefined interface
NMAKE : fatal error U1077: "C:\Qt\2010.05\qt\bin\moc.exe": Rückgabe-Code "0x1"
Stop.
NMAKE : fatal error U1077: ""C:\Program Files (x86)\Microsoft Visual Studio 10.0
\VC\BIN\nmake.exe"": Rückgabe-Code "0x2"
Stop.
NMAKE : fatal error U1077: "cd": Rückgabe-Code "0x2"
Stop.
Ich verstehe auch die Visual Studio Meldung auch nicht ganz - wieso meckert er rum obwohl ich als compiler MSVC2010 gewählt habe? Was besagt die Meldung?

Verfasst: 26. Oktober 2010 21:00
von Vertexwahn
ich habe auch gerade versucht mit Visual Studio 2010 QT zu bauen auf meiner Kiste - ging aber nicht - gleicher Fehler wie bei dir - ich hab nach der Fehlermeldung gesucht und dein Posting gefunden - aber auch dieses hier:

http://www.qtcentre.org/threads/26245-Q ... -interface

Der Wichtige Inhalt der auch für Qt 4.7 gelten könnte:
to delete the src/script/tmp/moc/debug_shared/mocinclude.tmp
and the same file in release_shared.
then nmake it.
ich hab beide tmp Dateien gelöscht und baue gerade neue - in ein zwei Stunden kann ich mehr sagen ;) - jedenfalls existieren diese Dateien auch bei Qt 4.7 und es ist schon komisch warum diese generierten Dateien überhaupt mitausgeliefert werden

Verfasst: 27. Oktober 2010 14:12
von Vertexwahn
hier wie es funktioniert:
Der Visual Studio Comand Prompt sollte mit Administrator Rechten geöffnet
werden, ob es auch ohne Administratorrechte geht wurde nicht getestet. Anschließend führt man das Programm configure mit „configure -platform win32-msvc2010 -no-webkit“ aus. Davor muss man die Dateien „src/script/tmp/moc/debug_shared/mocinclude.tmp“ und „src/script/tmp/moc/release_shared/mocinclude.tmp“ löschen, da es sonst beim Übersetzungprozess zu Fehlern kommt.

Ist dieser Schritt abgeschloßen kann mit dem Aufruf von nmake die Übersetzung gestartet werden. Nun kann man im Qt Addin den Pfad auf das Qt Verzeichiss setzen. Hier wird zunächst die Meldung „"Qt in the given path was built using MinGW“ ausgegeben. Das Addin sucht nach
den Dateien libqtmain.a bzw. libqtmaind.a um herauszufinden ob es mit MinGW oder Visual Studio gebaut wurde. Standardmäßig werden die Dateinen mit ausgeliefert. Diese muss man ebenfalls manuell löschen, damit man die Fehlermeldung im Addin nicht mehr erscheint.

Beim Übersetzten in Visual Studio kann jetzt der Fehler „ERROR: Can’t find the Qt version that’s associated with this project.“ auftretten. Man klickt im Soultion Explorer einfach mit der rechten Maustaste das entsprechende Projekt an und wählt dort „Qt Project Settings“ aus. Dort kann dann die zu verwendene Qt Version eingestellt werden.

Damit man Qt nicht selbst Kompilieren muss und es die Problem mit dem Addin nicht gibt bietet es sich an „Qt for Open Source C++ development on Windows (VS2008) “ downzulaoden: http://qt.nokia.com/downloads/windows-cpp-vs2008. Dabei handelt sich um eine bereits
übersetzte Version von Qt. Auch wenn es den Anschein hat, das diese nur mit Visual Studio 2008 verwendet werden kann sei gesagt, dass diese genauso mit VS2010 funktioniert.

Verfasst: 8. März 2011 11:34
von anotherLogin
Vertexwahn hat geschrieben: Damit man Qt nicht selbst Kompilieren muss und es die Problem mit dem Addin nicht gibt bietet es sich an „Qt for Open Source C++ development on Windows (VS2008) “ downzulaoden: http://qt.nokia.com/downloads/windows-cpp-vs2008. Dabei handelt sich um eine bereits
übersetzte Version von Qt. Auch wenn es den Anschein hat, das diese nur mit Visual Studio 2008 verwendet werden kann sei gesagt, dass diese genauso mit VS2010 funktioniert.
Das kann ich so nicht bestätigen. Mit dem Qt 4.7.2 Open Source VS 2008 Kompilat lassen sich Qt Anwendungen compilieren und linken aber nicht ausführen. (Path korrekt) Mit einem (früher schonmal) unter VS 2010 compilierten Qt 4.7.1 hingegen schon. Es führt also kein Weg am Selbstcompilieren vorbei, was bei dem Umfang ungünstig ist. Umgebung ist XP Pro SP 3, VS 2010 Ultimate, 32bit

Verfasst: 5. April 2011 13:27
von peter999
@anotherLogin
Kann ich nicht bestätigen. Du musst nur die VCREDISTs für Visual Studio 2008 und von 2010 installiert haben, sonst passt das nicht. Ich habe mit dem bestehenden 2008er Kompilat meine ersten Tests mit VS 2010 erledigt und das nicht nur theoretisch, ich konnte meine Programme nach dem Erstellen problemlos linken und sind auch gestartet...

Aber es ist generell besser, die VS 2010 Version zum Erstellen von QT zu nutzen, das spart eine VCRedist hinterher...

Gruß
Peter