Seite 1 von 1

mit qt4.5 ging es noch

Verfasst: 16. Februar 2010 12:27
von mustermann.klaus
Hallo, ich verwende auf meinem win-xp sys

http://muonics.net/school/spring05/videoInput/

seit qt 4.6.1 bekomme ich beim Kompilieren freundlich aber bestimmt folgenden Text zu lesen:

Code: Alles auswählen

Führe Build-Schritte für Projekt vidAnlyzer aus...
Starte: c:/qt/2010.01/qt/bin/qmake.exe C:/Dokumente und Einstellungen/lars/Desktop/Waveformer/tabbed Videoinput Mutex timer Pixmapped/vidAnlyzer.pro -spec win32-g++ -r 
Beendet mit Rückgabewert 0.
Starte: C:/Qt/2010.01/mingw/bin/mingw32-make.exe -w 
mingw32-make: Entering directory `C:/Dokumente und Einstellungen/lars/Desktop/Waveformer/tabbed Videoinput Mutex timer Pixmapped'
C:/Qt/2010.01/mingw/bin/mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory `C:/Dokumente und Einstellungen/lars/Desktop/Waveformer/tabbed Videoinput Mutex timer Pixmapped'
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"c:\Qt\2010.01\qt\include\QtCore" -I"c:\Qt\2010.01\qt\include\QtGui" -I"c:\Qt\2010.01\qt\include" -I"c:\Qt\2010.01\qt\src\testlib" -I"c:\videoInput0.1995\videoInputSrcAndDemos\libs\DShow\Include" -I"c:\Qt\2010.01\qt\include\ActiveQt" -I"debug" -I"c:\Qt\2010.01\qt\mkspecs\win32-g++" -o debug\main.o main.cpp
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"c:\Qt\2010.01\qt\include\QtCore" -I"c:\Qt\2010.01\qt\include\QtGui" -I"c:\Qt\2010.01\qt\include" -I"c:\Qt\2010.01\qt\src\testlib" -I"c:\videoInput0.1995\videoInputSrcAndDemos\libs\DShow\Include" -I"c:\Qt\2010.01\qt\include\ActiveQt" -I"debug" -I"c:\Qt\2010.01\qt\mkspecs\win32-g++" -o debug\mainWidget.o mainWidget.cpp
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"c:\Qt\2010.01\qt\include\QtCore" -I"c:\Qt\2010.01\qt\include\QtGui" -I"c:\Qt\2010.01\qt\include" -I"c:\Qt\2010.01\qt\src\testlib" -I"c:\videoInput0.1995\videoInputSrcAndDemos\libs\DShow\Include" -I"c:\Qt\2010.01\qt\include\ActiveQt" -I"debug" -I"c:\Qt\2010.01\qt\mkspecs\win32-g++" -o debug\renderthread.o renderthread.cpp
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"c:\Qt\2010.01\qt\include\QtCore" -I"c:\Qt\2010.01\qt\include\QtGui" -I"c:\Qt\2010.01\qt\include" -I"c:\Qt\2010.01\qt\src\testlib" -I"c:\videoInput0.1995\videoInputSrcAndDemos\libs\DShow\Include" -I"c:\Qt\2010.01\qt\include\ActiveQt" -I"debug" -I"c:\Qt\2010.01\qt\mkspecs\win32-g++" -o debug\storage.o storage.cpp
C:/Qt/2010.01/qt/bin\moc.exe -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"c:\Qt\2010.01\qt\include\QtCore" -I"c:\Qt\2010.01\qt\include\QtGui" -I"c:\Qt\2010.01\qt\include" -I"c:\Qt\2010.01\qt\src\testlib" -I"c:\videoInput0.1995\videoInputSrcAndDemos\libs\DShow\Include" -I"c:\Qt\2010.01\qt\include\ActiveQt" -I"debug" -I"c:\Qt\2010.01\qt\mkspecs\win32-g++" -D__GNUC__ -DWIN32 mainwidget.h -o debug\moc_mainwidget.cpp
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"c:\Qt\2010.01\qt\include\QtCore" -I"c:\Qt\2010.01\qt\include\QtGui" -I"c:\Qt\2010.01\qt\include" -I"c:\Qt\2010.01\qt\src\testlib" -I"c:\videoInput0.1995\videoInputSrcAndDemos\libs\DShow\Include" -I"c:\Qt\2010.01\qt\include\ActiveQt" -I"debug" -I"c:\Qt\2010.01\qt\mkspecs\win32-g++" -o debug\moc_mainwidget.o debug\moc_mainwidget.cpp
C:/Qt/2010.01/qt/bin\moc.exe -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"c:\Qt\2010.01\qt\include\QtCore" -I"c:\Qt\2010.01\qt\include\QtGui" -I"c:\Qt\2010.01\qt\include" -I"c:\Qt\2010.01\qt\src\testlib" -I"c:\videoInput0.1995\videoInputSrcAndDemos\libs\DShow\Include" -I"c:\Qt\2010.01\qt\include\ActiveQt" -I"debug" -I"c:\Qt\2010.01\qt\mkspecs\win32-g++" -D__GNUC__ -DWIN32 renderthread.h -o debug\moc_renderthread.cpp
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"c:\Qt\2010.01\qt\include\QtCore" -I"c:\Qt\2010.01\qt\include\QtGui" -I"c:\Qt\2010.01\qt\include" -I"c:\Qt\2010.01\qt\src\testlib" -I"c:\videoInput0.1995\videoInputSrcAndDemos\libs\DShow\Include" -I"c:\Qt\2010.01\qt\include\ActiveQt" -I"debug" -I"c:\Qt\2010.01\qt\mkspecs\win32-g++" -o debug\moc_renderthread.o debug\moc_renderthread.cpp
C:/Qt/2010.01/qt/bin\moc.exe -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"c:\Qt\2010.01\qt\include\QtCore" -I"c:\Qt\2010.01\qt\include\QtGui" -I"c:\Qt\2010.01\qt\include" -I"c:\Qt\2010.01\qt\src\testlib" -I"c:\videoInput0.1995\videoInputSrcAndDemos\libs\DShow\Include" -I"c:\Qt\2010.01\qt\include\ActiveQt" -I"debug" -I"c:\Qt\2010.01\qt\mkspecs\win32-g++" -D__GNUC__ -DWIN32 storage.h -o debug\moc_storage.cpp
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"c:\Qt\2010.01\qt\include\QtCore" -I"c:\Qt\2010.01\qt\include\QtGui" -I"c:\Qt\2010.01\qt\include" -I"c:\Qt\2010.01\qt\src\testlib" -I"c:\videoInput0.1995\videoInputSrcAndDemos\libs\DShow\Include" -I"c:\Qt\2010.01\qt\include\ActiveQt" -I"debug" -I"c:\Qt\2010.01\qt\mkspecs\win32-g++" -o debug\moc_storage.o debug\moc_storage.cpp
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mthreads -Wl -Wl,-subsystem,windows -o debug\vidAnlyzer.exe debug/main.o debug/mainWidget.o debug/renderthread.o debug/storage.o debug/moc_mainwidget.o debug/moc_renderthread.o debug/moc_storage.o -L"c:\Qt\2010.01\qt\lib" -lmingw32 -lqtmaind C:\WINDOWS\system32\qwtd5.dll C:\Qt\2010.01\qt\bin\QtTestd4.dll C:\videoInput0.1995\compiledLib\compiledByDevCpp\videoInputLib.a C:\videoInput0.1995\videoInputSrcAndDemos\libs\DShow\lib\ddraw.lib C:\videoInput0.1995\videoInputSrcAndDemos\libs\DShow\lib\dxguid.lib C:\videoInput0.1995\videoInputSrcAndDemos\libs\DShow\lib\ole32.lib C:\videoInput0.1995\videoInputSrcAndDemos\libs\DShow\lib\oleaut32.lib C:\videoInput0.1995\videoInputSrcAndDemos\libs\DShow\lib\strmbase.lib C:\videoInput0.1995\videoInputSrcAndDemos\libs\DShow\lib\strmiids.lib C:\videoInput0.1995\videoInputSrcAndDemos\libs\DShow\lib\uuid.lib -lQtGuid4 -lQtCored4
mingw32-make[1]: Leaving directory `C:/Dokumente und Einstellungen/lars/Desktop/Waveformer/tabbed Videoinput Mutex timer Pixmapped'
mingw32-make: Leaving directory `C:/Dokumente und Einstellungen/lars/Desktop/Waveformer/tabbed Videoinput Mutex timer Pixmapped'
bis hier alles gut, aber dann:

Code: Alles auswählen

C:\videoInput0.1995\compiledLib\compiledByDevCpp\videoInputLib.a(videoInput.o):videoInput.cpp:(.text+0xee): undefined reference to `__gxx_personality_sj0'
C:\videoInput0.1995\compiledLib\compiledByDevCpp\videoInputLib.a(videoInput.o):videoInput.cpp:(.text+0x104): undefined reference to `_Unwind_SjLj_Register'
C:\videoInput0.1995\compiledLib\compiledByDevCpp\videoInputLib.a(videoInput.o):videoInput.cpp:(.text+0x2a6): undefined reference to `_Unwind_SjLj_Unregister'
C:\videoInput0.1995\compiledLib\compiledByDevCpp\videoInputLib.a(videoInput.o):videoInput.cpp:(.text+0x2d4): undefined reference to `_Unwind_SjLj_Resume'
C:\videoInput0.1995\compiledLib\compiledByDevCpp\videoInputLib.a(videoInput.o):videoInput.cpp:(.text+0x2fe): undefined reference to `__gxx_personality_sj0'
C:\videoInput0.1995\compiledLib\compiledByDevCpp\videoInputLib.a(videoInput.o):videoInput.cpp:(.text+0x314): undefined reference to `_Unwind_SjLj_Register'
C:\videoInput0.1995\compiledLib\compiledByDevCpp\videoInputLib.a(videoInput.o):videoInput.cpp:(.text+0x4b6): undefined reference to `_Unwind_SjLj_Unregister'
C:\videoInput0.1995\compiledLib\compiledByDevCpp\videoInputLib.a(videoInput.o):videoInput.cpp:(.text+0x4e4): undefined reference to `_Unwind_SjLj_Resume'
C:\videoInput0.1995\compiledLib\compiledByDevCpp\videoInputLib.a(videoInput.o):videoInput.cpp:(.text+0x1b41): undefined reference to `__gxx_personality_sj0'
C:\videoInput0.1995\compiledLib\compiledByDevCpp\videoInputLib.a(videoInput.o):videoInput.cpp:(.text+0x1b5a): undefined reference to `_Unwind_SjLj_Register'
C:\videoInput0.1995\compiledLib\compiledByDevCpp\videoInputLib.a(videoInput.o):videoInput.cpp:(.text+0x1bb4): undefined reference to `_Unwind_SjLj_Unregister'
C:\videoInput0.1995\compiledLib\compiledByDevCpp\videoInputLib.a(videoInput.o):videoInput.cpp:(.text+0x1c03): undefined reference to `_Unwind_SjLj_Resume'
C:\videoInput0.1995\compiledLib\compiledByDevCpp\videoInputLib.a(videoInput.o):videoInput.cpp:(.text+0x1c88): undefined reference to `__gxx_personality_sj0'
C:\videoInput0.1995\compiledLib\compiledByDevCpp\videoInputLib.a(videoInput.o):videoInput.cpp:(.text+0x1ca7): undefined reference to `_Unwind_SjLj_Register'
C:\videoInput0.1995\compiledLib\compiledByDevCpp\videoInputLib.a(videoInput.o):videoInput.cpp:(.text+0x2265): undefined reference to `_Unwind_SjLj_Unregister'
C:\videoInput0.1995\compiledLib\compiledByDevCpp\videoInputLib.a(videoInput.o):videoInput.cpp:(.text+0x228d): undefined reference to `_Unwind_SjLj_Resume'
C:\videoInput0.1995\compiledLib\compiledByDevCpp\videoInputLib.a(videoInput.o):videoInput.cpp:(.text+0x2318): undefined reference to `__gxx_personality_sj0'
C:\videoInput0.1995\compiledLib\compiledByDevCpp\videoInputLib.a(videoInput.o):videoInput.cpp:(.text+0x2337): undefined reference to `_Unwind_SjLj_Register'
C:\videoInput0.1995\compiledLib\compiledByDevCpp\videoInputLib.a(videoInput.o):videoInput.cpp:(.text+0x28f5): undefined reference to `_Unwind_SjLj_Unregister'
C:\videoInput0.1995\compiledLib\compiledByDevCpp\videoInputLib.a(videoInput.o):videoInput.cpp:(.text+0x291d): undefined reference to `_Unwind_SjLj_Resume'
C:\videoInput0.1995\compiledLib\compiledByDevCpp\videoInputLib.a(videoInput.o):videoInput.cpp:(.text+0x38a0): undefined reference to `__gxx_personality_sj0'
C:\videoInput0.1995\compiledLib\compiledByDevCpp\videoInputLib.a(videoInput.o):videoInput.cpp:(.text+0x38df): undefined reference to `_Unwind_SjLj_Register'
C:\videoInput0.1995\compiledLib\compiledByDevCpp\videoInputLib.a(videoInput.o):videoInput.cpp:(.text+0x406b): undefined reference to `_Unwind_SjLj_Unregister'
C:\videoInput0.1995\compiledLib\compiledByDevCpp\videoInputLib.a(videoInput.o):videoInput.cpp:(.text+0x40a3): undefined reference to `_Unwind_SjLj_Unregister'
C:\videoInput0.1995\compiledLib\compiledByDevCpp\videoInputLib.a(videoInput.o):videoInput.cpp:(.text+0x4211): undefined reference to `_Unwind_SjLj_Unregister'
C:\videoInput0.1995\compiledLib\compiledByDevCpp\videoInputLib.a(videoInput.o):videoInput.cpp:(.text+0x42ec): undefined reference to `_Unwind_SjLj_Resume'
C:\videoInput0.1995\compiledLib\compiledByDevCpp\videoInputLib.a(videoInput.o):videoInput.cpp:(.text+0x6cf8): undefined reference to `__gxx_personality_sj0'
C:\videoInput0.1995\compiledLib\compiledByDevCpp\videoInputLib.a(videoInput.o):videoInput.cpp:(.text+0x6d17): undefined reference to `_Unwind_SjLj_Register'
C:\videoInput0.1995\compiledLib\compiledByDevCpp\videoInputLib.a(videoInput.o):videoInput.cpp:(.text+0x6e1e): undefined reference to `_Unwind_SjLj_Unregister'
C:\videoInput0.1995\compiledLib\compiledByDevCpp\videoInputLib.a(videoInput.o):videoInput.cpp:(.text+0x6e3e): undefined reference to `_Unwind_SjLj_Unregister'
C:\videoInput0.1995\compiledLib\compiledByDevCpp\videoInputLib.a(videoInput.o):videoInput.cpp:(.text+0x7002): undefined reference to `_Unwind_SjLj_Resume'
C:\videoInput0.1995\compiledLib\compiledByDevCpp\videoInputLib.a(videoInput.o):videoInput.cpp:(.text+0x70b4): undefined reference to `__gxx_personality_sj0'
C:\videoInput0.1995\compiledLib\compiledByDevCpp\videoInputLib.a(videoInput.o):videoInput.cpp:(.text+0x70cd): undefined reference to `_Unwind_SjLj_Register'
C:\videoInput0.1995\compiledLib\compiledByDevCpp\videoInputLib.a(videoInput.o):videoInput.cpp:(.text+0x7111): undefined reference to `_Unwind_SjLj_Unregister'
C:\videoInput0.1995\compiledLib\compiledByDevCpp\videoInputLib.a(videoInput.o):videoInput.cpp:(.text+0x742e): undefined reference to `_Unwind_SjLj_Unregister'
C:\videoInput0.1995\compiledLib\compiledByDevCpp\videoInputLib.a(videoInput.o):videoInput.cpp:(.text+0x7501): undefined reference to `_Unwind_SjLj_Resume'
collect2: ld returned 1 exit status
mingw32-make[1]: *** [debug\vidAnlyzer.exe] Error 1
mingw32-make: *** [debug] Error 2
Beendet mit Rückgabewert 2.
Fehler beim Erstellen des Projekts vidAnlyzer
Beim Ausführen des Build-Schritts 'Make'
tja, und nu? Was macht denn 4.6 anders als 4.5?

Danke für jeden Tipp

Verfasst: 16. Februar 2010 13:03
von solarix
Der Linkerfehler hat nirgendwo ein Hinweis auf Qt...das hat also nichts mit Qt zu tun.
Die (vorkompilierte) Library hat schlicht fehlende Abhängigkeiten.
Klingt für mich nach einem Mingw-Update von 3.4 auf 4.4... Ich vermute, du musst "VideoInput" selbst kompilieren (siehe dazu die Hinweise videoInput0.1995/videoInputSrcAndDemos/DevCpp-CompileAsLib/compileInDevCpp.txt), so dass Qt und "VideoInput" mit dem gleichen Compiler übersetzt wurden (schliesslich ist "VideoInput" C++... nicht C)

hth..

Verfasst: 16. Februar 2010 13:24
von mustermann.klaus
danke erstmal für die fixe antwort. leider habe ich noch nie eine eigene lib erstellen müssen. ich habe also nullllllllllll erfahrung. wo fange ich also an?

DANKE

Verfasst: 16. Februar 2010 13:55
von Curtis Newton
mustermann.klaus hat geschrieben:danke erstmal für die fixe antwort. leider habe ich noch nie eine eigene lib erstellen müssen. ich habe also nullllllllllll erfahrung. wo fange ich also an?
Mit einem Buch.

C.

Verfasst: 16. Februar 2010 15:26
von Kay
Woher hast du denn die alte Library? Wurde die denn explizit für Qt4.5 entworfen oder hat sie einfach so funktioniert? Was für ein Interface bietet die Library? (C++ oder C-Style)
Hast du die *.lib-Files alle mit eingelinkt und nutzt der Linker auch die, die du gemeint hast?

Verfasst: 16. Februar 2010 16:23
von Christian81
Qt 4.6 wurde mit gcc 4.4 erstellt. Qt 4.5 hingegen mit 3.4. Also kann man keine Libs mixen und muss alles mit gcc 4.4 neu erstellen.

Verfasst: 16. Februar 2010 16:41
von mustermann.klaus
naja, es gibt ja eine mit dev-cpp kompilierte Version. Die tat es auch bis qt 4.5. deshalb die Überraschung. Den Rest muss ich erstmal recherchieren.
Danke für die Antworten.

Verfasst: 18. Februar 2010 15:35
von mustermann.klaus
So, nächster Anlauf:

Ja, ich habe alle Bibliotheken miteingelinkt. Wenn ich sie auskommentiere werden sie auch vermisst.

@solarix: mit den Hinweisen funktioniert es bei mir auch nicht. Ich habe auch versucht, es mit dev-cpp unter Einbindung des mit qt-4.6 gelieferten Compilers zu kompilieren. Auch das ist mir leider nicht gelungen.

Ideen?

Danke.

Verfasst: 18. Februar 2010 16:25
von Christian81
Wie gesagt - die Probleme liegen nur an den unterschiedlichen Gcc-Versionen welche nicht binärkompatibel sind.

Verfasst: 18. Februar 2010 22:18
von solarix
mustermann.klaus hat geschrieben:... Auch das ist mir leider nicht gelungen.
Ideen?
.
Was bedeutet "nicht gelungen"? Wir helfen hier auch gerne mal, auch wenn es sich nicht um ein Qt-Problem handelt... aber wir brauchen alle Details, die du uns liefern kannst... Compilerfehler? Linkerfehler?

Verfasst: 19. Februar 2010 09:28
von mustermann.klaus
natürlich solarix, du hast voll und ganz recht. das ist kein qt-problem. ich werde mich an ein geeigneteres forum wenden. danke für den input trotzdem.

abschliessend: im ordner den es unter obigem link zum download gibt existiert ein ordner mit einem devcpp projekt-file. das läßt sich problemlos laden, aber eben nicht kompilieren.