QT 4.7 und Visual Studio 2010

Verschiedenes zu Qt
Antworten
rafilis1982
Beiträge: 34
Registriert: 6. Juni 2008 14:44

QT 4.7 und Visual Studio 2010

Beitrag 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?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Sourcen runterladen, entpacken, configure.exe aufrufen, nmake aufrufen, fertig...
http://doc.troll.no/4.7/install-win.html
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
rafilis1982
Beiträge: 34
Registriert: 6. Juni 2008 14:44

Beitrag 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?
Vertexwahn
Beiträge: 2
Registriert: 26. Oktober 2010 20:55

Beitrag 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
Vertexwahn
Beiträge: 2
Registriert: 26. Oktober 2010 20:55

Beitrag 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.
anotherLogin
Beiträge: 1
Registriert: 8. März 2011 11:23

Beitrag 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
peter999
Beiträge: 24
Registriert: 12. Januar 2006 11:28

Beitrag 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
Antworten