Qt für MS Visual Studio 2010

Alles zu Entwicklungsumgebungen und Editoren für Qt
Antworten
asddd
Beiträge: 1
Registriert: 10. April 2011 01:20

Qt für MS Visual Studio 2010

Beitrag von asddd »

Hi, ich versuch jetzt schon seit 1 1/2 Wochen Qt statisch für MS Visual Studio 2010 zu kompilieren.
Das Addon dazu ist in Visual Studio installiert und als Qt Path "D:\Qt\4.7.2\" angegeben. Darin ist ein kompiliertes Qt wobei ich configure mit "-platform win32-msvc2010 -static -debug-and-release" ausgefüht habe. Anschliessend nmake. Dann hab ich versucht ein kleines Testprogramm zu kompilieren, aber beim LInk kommt die Meldung "1>LINK : fatal error LNK1104: Datei "QtCored4.lib" kann nicht geöffnet werden.". Dann hab ich mit der Windows-Suche die Datei "QtCored4.lib" gesucht. Die wurde nicht gefunden. Dann hab ich in den Projekteigenschaften von /MDd auf /MTd umgestellt. Das hat leider auch nichts gebracht. Dann hab ich nochmal versucht Qt zu kompilieren diesmal mit "-platform win32-msvc2010 -static". Das hat leider auch nichts bewirkt. Dann hab ich nochmal mit "-platform win32-msvc2010" versucht. Das hat funktioniert, ist aber leider nicht statisch. Dann hab ich versucht, alle Dateien, die nicht vorhanden sind, aus der nicht-statischen Version von Qt in die statische zu verschieben. Das hat leider auch nichts gebracht.
Jetzt ist meine Frage: Kann man Qt statisch für MS Visual Studio 2010 kompilieren und benutzen?

Gruss.
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Beitrag von RHBaum »

Ja, Die Entwickler bauen da immer kleine Fallstricke ein irgendwie :-)

Nutz du das VS Plugin fuer Qt ?
Das zeigt da irgendwie inkonsistenten verhalten z.b.

In deinem statisch kompilierierten Verzeichnis unter /lib, hasst da mal nachgeschaut ? Da erkennt man eigentlich recht fix, das die libs Ihre 4 aus dem Namen verloren haben.
Bei der statisch gelinkten variante ändern sich also die Namen der zuzulinkenden libs !

QtCored4.lib -> QtCored.lib

Stellst du also ein dynamisch gelinktes Programm auf Statisch um, hilft es meist nicht nur das QTDir zu ändern. Man muss auch das Projekt ändern (libs)

BTW, die C/C++ runtime auch statisch zu linken, klingt verlockend (erspart den aerger mit den redistributiables) aber wird von den QT-Entwicklern expliziet als problematisch, funktioniert nicht 100% deklariert. (Und ich habs auch noch ned hinbekommen, die qt mit /MTd zu übersetzen ... aber auch nicht so viel Energie reingesteckt)

Ciao ...
Antworten