Seite 1 von 1

[gelöst] Qt4 Integration für Studio2008 klappt nicht

Verfasst: 10. Februar 2009 21:13
von tYREL
Hallo zusammen,
ich habe ein Problem, Qt4 in Visual Studio 2008 zu integrieren. Ich habe nicht wirklich den PLan von Visual Studio oder IDE im allgemeinen. Ich komme aus der Linux Ecke und habe dort nur mit Edior und Konsole programmiert. Ich habe mir aber un in den Kopf gesetzt es mit Visual Studio zu probieren. So aber nun zu meinem Problem.

Ich bin streng nach diserm howto vorgangen http://mm-werkstatt.informatik.uni-augs ... qt2005.pdf

Der Beispiel Source aus diesem howto wird ohne Fehler übersetzt, aber nicht gelinkt. Der Linker findet die Qt-Libs nicht. Umgebenungsvariabeln sind gesetzt, die Unterschiedlichen Projekteinstellungen habe ich auch vorgenommen. Ich weis leider nun nicht mehr weiter. Ich probiere schon eine Weile rum, aber ohne Erfolg. Wäre toll wenn mir jemand helfen könnte
Anbei noch die Ausgabe des Fehlers:

Code: Alles auswählen

Die temporäre Datei "c:\Users\Tom\Documents\Visual Studio 2008\Projects\SampleProject\src\SampleApplication\Debug\BAT00000150164952.bat" wird erstellt. Inhalt:
[
@echo off

C:\Qt\4.4.3/bin/uic.exe "c:\Users\Tom\Documents\Visual Studio 2008\Projects\SampleProject\src\SampleApplication\MainWindow.ui" -o ui_MainWindow.h

if errorlevel 1 goto VCReportError

goto VCEnd

:VCReportError

echo Project : error PRJ0019: Ein Tool hat einen Fehlercode aus folgender Quelle zurückgegeben: 

exit 1

:VCEnd
]Erstellen der Befehlszeile """c:\Users\Tom\Documents\Visual Studio 2008\Projects\SampleProject\src\SampleApplication\Debug\BAT00000150164952.bat"""Die temporäre Datei "c:\Users\Tom\Documents\Visual Studio 2008\Projects\SampleProject\src\SampleApplication\Debug\RSP00000250164952.rsp" wird erstellt. Inhalt:
[
/Od /I "C:\Qt\4.4.3\include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /RTC1 /MDd /Fo"Debug\\" /Fd"Debug\vc90.pdb" /W3 /c /ZI /TP ".\MainWindow.cpp"

".\main.cpp"
]Erstellen der Befehlszeile "cl.exe @"c:\Users\Tom\Documents\Visual Studio 2008\Projects\SampleProject\src\SampleApplication\Debug\RSP00000250164952.rsp" /nologo /errorReport:prompt"Die temporäre Datei "c:\Users\Tom\Documents\Visual Studio 2008\Projects\SampleProject\src\SampleApplication\Debug\TMP00000350164952.tmp" wird erstellt. Inhalt:
[
1 /* CREATEPROCESS_MANIFEST_RESOURCE_ID */ 24 /* RT_MANIFEST */ ".\\Debug\\SampleApplication.exe.embed.manifest"
]Erstellen der Befehlszeile "rc.exe /fo".\Debug\SampleApplication.exe.embed.manifest.res" "c:\Users\Tom\Documents\Visual Studio 2008\Projects\SampleProject\src\SampleApplication\Debug\TMP00000350164952.tmp""
Die temporäre Datei "c:\Users\Tom\Documents\Visual Studio 2008\Projects\SampleProject\src\SampleApplication\Debug\RSP00000450164952.rsp" wird erstellt. Inhalt:
[
/OUT:"C:\Users\Tom\Documents\Visual Studio 2008\Projects\SampleProject\Debug\SampleApplication.exe" /INCREMENTAL /LIBPATH:"C:\Qt\4.4.3\lib" /MANIFEST /MANIFESTFILE:"Debug\SampleApplication.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"C:\Users\Tom\Documents\Visual Studio 2008\Projects\SampleProject\Debug\SampleApplication.pdb" /SUBSYSTEM:CONSOLE /DYNAMICBASE /NXCOMPAT /MACHINE:X86 qtmaind.lib QtGuid4.lib QtCored4.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib

".\Debug\main.obj"

".\Debug\MainWindow.obj"

".\Debug\SampleApplication.exe.embed.manifest.res"
]Erstellen der Befehlszeile "link.exe @"c:\Users\Tom\Documents\Visual Studio 2008\Projects\SampleProject\src\SampleApplication\Debug\RSP00000450164952.rsp" /NOLOGO /ERRORREPORT:PROMPT" 
Danke+Grüße
tYREL

Verfasst: 10. Februar 2009 21:42
von Christian81
Einfach eine .pro-Datei erstellen und qmake dann daraus die .vcproj erstellen lassen. Das geht einfacher.

Verfasst: 10. Februar 2009 21:51
von tYREL
Werde ich mal versuchen, sobei das alles VS machen zu lassen hat auch Charme, finde ich. :wink:

Verfasst: 11. Februar 2009 12:19
von tYREL
So habe das ganze mal mit qmake versucht klappt leider nicht. Bekomme immer noch folgenden Fehler

Code: Alles auswählen

LINK : fatal error LNK1181: Eingabedatei "c:\Qt\4.4.3\lib\qtmaind.lib" kann nicht geöffnet werden.
ich habe im Projekt einen festen Pfad eingegeben (Test) wenn ich die Variable QTDIR verwende kommt der gleiche Fehler.

[EDIT: Habe gerade nochmal die Pfadangaben bei Extras/Optionen/... wieder rausgenommen, hat leider nichts geholfen. Fehler bleibt. [/EDIT]

Welche Dateien muß ich denn in \lib haben?
Ich habe *.a, *.dll und *.prl. *.lib habe ich keine.

Bei qtmain(d) habe ich auch nur eine *.prl nicht mal *.a. Ist da beim übersetzen was schiefgelaufen?

Verfasst: 11. Februar 2009 12:28
von gerome69
tYREL hat geschrieben:So habe das ganze mal mit qmake versucht klappt leider nicht. Bekomme immer noch folgenden Fehler

Code: Alles auswählen

LINK : fatal error LNK1181: Eingabedatei "c:\Qt\4.4.3\lib\qtmaind.lib" kann nicht geöffnet werden.

Welche Dateien muß ich denn in \lib haben?
Ich habe *.a, *.dll und *.prl. *.lib habe ich keine.
Da stimmt aber was nicht:
Im lib-Ordner muß es dll's und .lib-Dateien geben, .a-Dateien sind für VS irrelevant, die gehören zu mingw.
Beachte auch: qtmain.lib != qtmaind.lib !
Hast du das Qt selbst kompiliert?

Gruß, Gérôme

Verfasst: 11. Februar 2009 12:35
von tYREL
Ja, ich hab's selbst übersetzt.
configure + nmake, beides ohne Fehler durchgelaufen :D

diese Version habe ich genommen:
ftp://ftp.trolltech.com/qt/source/qt-wi ... -mingw.exe

Was kann ich machen re-configure und nochmals nmake ?
Gibt es eine Version von 4.4.3 die fertig übersetzt ist? Auf der Trolltech Seite habe ich nichts gefunden. Dann könnte ich mir die Stunden lange arbeit sparen und die Libs nur einkopieren und gut ist. :D


Unterschied kenne ich:
qtmain.lib = release
qtmaind.lib = debug :wink:

Verfasst: 11. Februar 2009 12:47
von gerome69
tYREL hat geschrieben:Ja, ich hab's selbst übersetzt.
configure + nmake, beides ohne Fehler durchgelaufen :D
Wenn das wirklich so ist, dann müssen im bin-Ordner die Qt-dll's sein und im lib-Ordner: dlls, .exp, .lib und .prl-Dateien. Sonst ist deine Kompilierung nicht erfolgreich gewesen.

G.

Verfasst: 11. Februar 2009 13:20
von tYREL
Nee, bei mir ist das definitive nicht so, aber kein Problem. Ich schmeiß jetzt einfach nochmal alles runter, setzte es neu auf und installiere es nochmal. Und dann schau mehr mal. Ich danke Dir für Deine Hilfe.
Grüße
tYREL

Verfasst: 11. Februar 2009 19:03
von tYREL
So, jetzt klappt es. Beim zweiten mal übersetzen, wurden auch die Libs für VS erstellt. Warum das beim ersten mal nicht so war, keine Ahnung. Ich habe nichts anderes gemacht. Ich habe nicht mal deistalliert einfach nochmal configure+nmake und schwupps waren die fehlenden Libs da.
Danke für die Hilfe an Euch.
Grüße
tYREL

Verfasst: 12. Februar 2009 13:05
von Volker
tYREL hat geschrieben:diese Version habe ich genommen:
ftp://ftp.trolltech.com/qt/source/qt-wi ... -mingw.exe
Stellt sich ja auch die Frage, warum du die MinGW Version runterlädst, wenn du nicht MinGW verwenden willst.