Qt und MS VSC++ Express

Du bist neu in der Welt von C++? Dann schau hier herein!
Antworten
NothingSpecial
Beiträge: 28
Registriert: 5. Juli 2009 16:06

Qt und MS VSC++ Express

Beitrag von NothingSpecial »

Hi,

ich versuche gerade mein Projekt, welches mit dem QtCreator erstellt wurde, kompiliert und läuft auf Visual Studio zu kompilieren. Naiv wie ich war dachte ich, es reicht die Bibliotheken zu verlinken und fertig, aber es funktioniert nicht. Zuerst wollte ich die Quelldateien von Qt nehmen, aber da müsste ich wohl die ganzen Qt Quelldateien zum Projekt hinzufügen oder irgendwas in die Richtung. Dann habe ich versucht die .dlls aus dem bin Ordner zu nehmen, da bekomme ich folgenden Fehler:
QtCored4.dll : fatal error LNK1107: invalid or corrupt file: cannot read at 0x308
Im Internet findet man dazu, dass man .lib Dateien verwenden soll. Die habe ich aber nicht. Wo bekomme ich die her oder wie benutze ich die dlls richtig?


Grüße,

NothingSpecial

Visual Studio C++ 2005
Qt 4.5.2
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Hast Du Qt mit MSVC compiliert? Man kann keine Dlls von MSVC mit MinGW und umgekehrt benutzen.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
NothingSpecial
Beiträge: 28
Registriert: 5. Juli 2009 16:06

Beitrag von NothingSpecial »

oha dann versuche ich das mal.
(da gibt es sogar eine configure.exe im Stammverzeichniss des Libary Ordners...)

Hast du eine Erklärung dafür, warum die dlls nicht kombatibel sind, die müssten doch eigentlich "genormt" sein? Ich bin ja gern geneigt MS die Schuld in die Schuhe zu schieben, aber vielleicht gibt es ja auch Abweichungen bei mingw...


Grüße,

NothingSpecial
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Die C++ ABI ist nicht genormt. Die C-ABI schon, dshalb kann man auch teilweise C-Libraries von verschiedenen Compiliern mischen.
Hier die Installationsanweisung: http://doc.trolltech.com/4.5/install-win.html
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
NothingSpecial
Beiträge: 28
Registriert: 5. Juli 2009 16:06

Beitrag von NothingSpecial »

Man ich dreh gleich durch... mir sagt die MS VC2005 prompt, er findet die windows.h nicht!
Ich installier mal das WindowsSDK, keine Ahung ob das hier drauf ist. Warum gibt es keine kompilierten Versionen :(
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Weil MSVC in der OpenSource-Version nicht offiziell unterstützt wird und weil es so viele verschiedene MSVC-Versionen gibt.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
NothingSpecial
Beiträge: 28
Registriert: 5. Juli 2009 16:06

Beitrag von NothingSpecial »

Tjaa,

leider findet er trotz des Windows SDK die windows.h nicht. Gibt es dafür eine einfach Erklärung, oder mit welchen Informationen kann ich zur Aufklärung beitragen? Sie ist aber vorhanden, vielleicht muss ich sie irgendwo in eine Umgebungsvariable eintragen.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Natürlich muss man dem Compiler sagen wo er zu suchen hat -> LIB und INCLUDE Umgebungsvariablen. Sollte aber auch in der README zum PSDK drinstehen. Bei mir gibts da sogar ne setenv.cmd welche die Variablen korrekt setzt...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
NothingSpecial
Beiträge: 28
Registriert: 5. Juli 2009 16:06

Beitrag von NothingSpecial »

Nachdem ich schon fast verzweifelt bin habe ich den Fehler gefunden. Ich hatte es zwar alles eingetragen, leider aber mit Space zum vorherigem Eintrag, dadurch hat er den Pfad nicht gefunden...
Nach fast 2 Stunfen kompilieren scheint es jetzt zu gehen :)

Danke für die Hilfe
NothingSpecial
Beiträge: 28
Registriert: 5. Juli 2009 16:06

Beitrag von NothingSpecial »

Denkste nach weiterem hin und her konnte er kompilieren, aber ohne Debugger...

Da habe ich dann aufgeben und mir die Professional besorgt. Dann Qt kompiliert, wie hier beschrieben. Allerdings mit der msvc2008 option, dass Addin installiert, welches einem das Importieren der .pro Files erleichtert und auch das moc übernimmt.

Jetzt steht nur noch eine große Frage im Raum... kann ich vielleicht irgendwie mit dem msvc compiler eine Bibliothek erstellen, die ich mit dem minGW gcc benutzen kann? Das wäre am Ende wahrscheinlich die Optimallösung für mein Problem, dann brauche ich das MS Zeug nicht so lange (und hätte mir wahrscheinlich auch zwei Nächte schlaf gönnen können...).

Grüße,

NothingSpecial
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

NothingSpecial hat geschrieben: Jetzt steht nur noch eine große Frage im Raum... kann ich vielleicht irgendwie mit dem msvc compiler eine Bibliothek erstellen, die ich mit dem minGW gcc benutzen kann?l
Was war an meiner Aussage so unverständlich??
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten