MinGW 4.4 Linker Problem (Qt ?)



  • Hallo,

    ich habe meine MinGW Installation upgedated um auch unter Windows endlich mal einen gcc 4.x Kompiler zu haben. Leider habe ich jetzt mit einem Qt Projekt ein Linkerproblem.

    gcc -version:

    gcc -v
    Using built-in specs.
    Target: mingw32
    Configured with: ../gcc-4.4.0/configure --enable-languages=c,ada,c++,fortran,jav
    a,objc,obj-c++ --disable-sjlj-exceptions --enable-shared --enable-libgcj --enabl
    e-libgomp --with-dwarf2 --disable-win32-registry --enable-libstdcxx-debug --enab
    le-version-specific-runtime-libs --prefix=/mingw --with-gmp=/mingw/src/gmp/root
    --with-mpfr=/mingw/src/mpfr/root --build=mingw32
    Thread model: win32
    gcc version 4.4.0 (GCC)
    

    Fehlermeldung beim Linken meiner Applikation, die mit gcc 3.4 noch problemlos linkte (ich habe natürlich _alles_ neu kompiliert, nicht das jemand meint, ich würde versuchen gcc3-kompilierte .o mit gcc4-kompilierten libs zu linken)

    Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
    Warning: .drectve `-defaultlib:uuid.lib ' unrecognized
    Warning: .drectve `-defaultlib:LIBC ' unrecognized
    Warning: .drectve `-defaultlib:OLDNAMES ' unrecognized
    c:\Qt\4.5.2\lib/libqtmain.a(qtmain_win.o):qtmain_win.cpp:(.text+0x2b): undefined
     reference to `__gxx_personality_sj0'
    c:\Qt\4.5.2\lib/libqtmain.a(qtmain_win.o):qtmain_win.cpp:(.text+0x3e): undefined
     reference to `_Unwind_SjLj_Register'
    c:\Qt\4.5.2\lib/libqtmain.a(qtmain_win.o):qtmain_win.cpp:(.text+0x267): undefine
    d reference to `_Unwind_SjLj_Unregister'
    c:\Qt\4.5.2\lib/libqtmain.a(qtmain_win.o):qtmain_win.cpp:(.text+0x30f): undefine
    d reference to `_Unwind_SjLj_Resume'
    collect2: ld returned 1 exit status
    

    Wo könnte hier der Hund begraben sein?

    Phil

    EDIT: Kann hier jemand russisch? Wird hier eine mögliche Lösung diskutiert? http://www.prog.org.ru/topic_9876_0.html



  • Huhu,

    auch hier gilt: Google ist dein Dolmetscher!



  • Das Problem ist wohl, dass Qt selbst in der Version 4.6 noch mit gcc 3.x vorkompiliert wurde. Habe mir Qt jetzt selbst kompiliert und prompt klappt es mit dem Linken wieder 🙂



  • Hatte auch solche Probleme, als ich die static libraries von SFML 1.5 hinzulinken wollte (auch MingW 4.4).

    Das Problem liegt in der Tat bei der Compilerversion, mit der Qt kompiliert wurde. MinGW 4.4 benutzt statt __gxx_personality_sj0 usw. anderes Zeugs als MinGW 3.4.5 (bspw.)


Anmelden zum Antworten