Seite 1 von 1

QT debuggen.

Verfasst: 8. November 2007 13:43
von bw1faeh0
Hallo,

ich möchte mein QT Projekt unter Windows debuggen. Dazu habe ich bereits gdb installiert und will nun die Debug-Variante von QT kompilieren.

Vorsichtshalber habe ich QT neun installiert. Jedoch bekomme ich beim Kompilieren der Debugvariante folgende Fehlermeldung:
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mthreads -Wl -shared -Wl,--out-implib,c:\Qt\4.3.2\lib\libQtCored4.a -o
"..\..\lib\QtCored4.dll" object_script.QtCored.Debug -L"c:\Qt\4.3.2\lib" -L"c:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Lib\" -L"c:\Qt\4.3
.2\lib" -lkernel32 -luser32 -lshell32 -luuid -lole32 -ladvapi32 -lws2_32 tmp\obj\debug_shared\QtCored_resource_res.o
Creating library file: c:\Qt\4.3.2\lib\libQtCored4.a
./tmp\obj\debug_shared\qfsfileengine_win.o: In function `Z8readLinkRK7QString':
C:/Qt/4.3.2/src/corelib/io/qfsfileengine_win.cpp:1328: undefined reference to `CoCreateInstance@20'
C:/Qt/4.3.2/src/corelib/io/qfsfileengine_win.cpp:1328: undefined reference to `CoInitialize@4'
C:/Qt/4.3.2/src/corelib/io/qfsfileengine_win.cpp:1328: undefined reference to `CoCreateInstance@20'
C:/Qt/4.3.2/src/corelib/io/qfsfileengine_win.cpp:1328: undefined reference to `IID_IPersistFile'
C:/Qt/4.3.2/src/corelib/io/qfsfileengine_win.cpp:1328: undefined reference to `CoUninitialize@0'
C:/Qt/4.3.2/src/corelib/io/qfsfileengine_win.cpp:1328: undefined reference to `CoCreateInstance@20'
C:/Qt/4.3.2/src/corelib/io/qfsfileengine_win.cpp:1328: undefined reference to `CoInitialize@4'
C:/Qt/4.3.2/src/corelib/io/qfsfileengine_win.cpp:1328: undefined reference to `CoCreateInstance@20'
C:/Qt/4.3.2/src/corelib/io/qfsfileengine_win.cpp:1328: undefined reference to `IID_IPersistFile'
C:/Qt/4.3.2/src/corelib/io/qfsfileengine_win.cpp:1328: undefined reference to `CoUninitialize@0'
./tmp\obj\debug_shared\qfsfileengine_win.o: In function `ZN13QFSFileEngine4linkERK7QString':
C:/Qt/4.3.2/src/corelib/io/qfsfileengine_win.cpp:1422: undefined reference to `CoCreateInstance@20'
C:/Qt/4.3.2/src/corelib/io/qfsfileengine_win.cpp:1422: undefined reference to `CoInitialize@4'
C:/Qt/4.3.2/src/corelib/io/qfsfileengine_win.cpp:1422: undefined reference to `CoCreateInstance@20'
C:/Qt/4.3.2/src/corelib/io/qfsfileengine_win.cpp:1422: undefined reference to `IID_IPersistFile'
C:/Qt/4.3.2/src/corelib/io/qfsfileengine_win.cpp:1422: undefined reference to `CoUninitialize@0'
C:/Qt/4.3.2/src/corelib/io/qfsfileengine_win.cpp:1422: undefined reference to `CoCreateInstance@20'
C:/Qt/4.3.2/src/corelib/io/qfsfileengine_win.cpp:1422: undefined reference to `CoInitialize@4'
C:/Qt/4.3.2/src/corelib/io/qfsfileengine_win.cpp:1422: undefined reference to `CoCreateInstance@20'
C:/Qt/4.3.2/src/corelib/io/qfsfileengine_win.cpp:1422: undefined reference to `IID_IPersistFile'
C:/Qt/4.3.2/src/corelib/io/qfsfileengine_win.cpp:1422: undefined reference to `CoUninitialize@0'
./tmp\obj\debug_shared\quuid.o: In function `ZN5QUuid10createUuidEv':
C:/Qt/4.3.2/src/corelib/plugin/quuid.cpp:411: undefined reference to `CoCreateGuid@4'
./tmp\obj\debug_shared\qeventdispatcher_win.o: In function `ZN28QEventDispatcherWin32Private16doWsaAsyncSelectEi':
C:/Qt/4.3.2/src/corelib/kernel/qeventdispatcher_win.cpp:390: undefined reference to `WSAAsyncSelect@16'
collect2: ld returned 1 exit status
mingw32-make[2]: *** [..\..\lib\QtCored4.dll] Error 1
mingw32-make[2]: Leaving directory `C:/Qt/4.3.2/src/corelib'
mingw32-make[1]: *** [debug] Error 2
mingw32-make[1]: Leaving directory `C:/Qt/4.3.2/src/corelib'
mingw32-make: *** [debug-C__Qt_4_3_2_src_corelib] Error 2
C:\Qt\4.3.2\src>
Hat da jemand eine Idee, wo ich dran drehen kann?

Grüße

Christian

Verfasst: 8. November 2007 15:18
von Christian81
CoCreateInstance ist in ole32.dll - diese wird aber, wie man sieht, mit gelinkt. Also hast Du ggf. eine zu alte win32api - Version.

Verfasst: 9. November 2007 07:04
von bw1faeh0
Danke für den Hinweis.

Aber wie soll man auf sowas kommen? Zumal ich ja die aktuelle Version des MinGW installier habe *grübel*

Leider hat das keinen Erfolg gebracht. Ich habe den Inhalt der gepackten Datei, die du verlinkt hast, in die entsprechenden Ordner von MinGW kopiert.
Das ändert aber am Ende nichts an der Fehlermeldung. QT berichtete bei der Installation übrigens auch, dass ich nicht die passende WinApi Version hätte. Leider sagte es nicht, welche ich benötige und welche ich installiert habe.

Noch eine Idee??

Verfasst: 9. November 2007 07:39
von bw1faeh0
Kann man die Debug-Version der QT-Libs nicht irgendwo herunter laden?

Verfasst: 9. November 2007 07:46
von CaptnChaos
Erm....... Nö!

Verfasst: 11. November 2007 19:06
von oetzi
Hallo,
hatte ähnliche Probleme die Qt-Debug-Version zu erstellen.
Das Visual Studio für .NET und MinGW waren ebenfalls installiert.
Nachdem ich die Umgebungsvariablen INCLUDE und LIB in C:\Qt\4.3.2\bin\qtvars.bat auf

set INCLUDE="C:\Qt\4.3.2\mkspecs\win32-g++\"
set LIB=""

am Anfang der Batch-Datei geändert hatte, lief der „Build Debug Libraries“ problemlos durch.

Ich hoffe, das klappt jetzt auch bei Dir.

oetzi

Verfasst: 12. November 2007 07:21
von bw1faeh0
Danke für den Tipp. Ich probiere es mal aus!

Verfasst: 12. November 2007 08:38
von bw1faeh0
Nee, sorry, der Fehler bleibt der gleiche :(