PDA

View Full Version : Is this Qt backwards compatible with 4.4.3



afflictedd2
17th October 2010, 00:20
Trying to build an application that was built on Qt 4.4.3 on windows.. but I'm getting a ton of link time errors. Is this because of a version issue?. If so where can I download the previous version.

Ted


mingw32-make.exe -f Makefile.Debug
mingw32-make.exe[1]: Entering directory `C:/Users/Viper/viper-sugui/Viper'
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mthreads -Wl -Wl,-subsystem,windows -o debug\Viper.exe object_script.Viper.Debug -L"c:\Qt\2010.05\qt\lib" -lmingw32 -lqtmaind -lQtGuid4 -lQtCored4
./debug\coordinatesetter.o: In function `ZN14VelocitySetterC2EP5QListIdEP7QWidget':
C:/Users/Viper/viper-sugui/Viper/coordinatesetter.cpp:8: undefined reference to `__gxx_personality_sj0'
C:/Users/Viper/viper-sugui/Viper/coordinatesetter.cpp:8: undefined reference to `_Unwind_SjLj_Register'
C:/Users/Viper/viper-sugui/Viper/coordinatesetter.cpp:42: undefined reference to `_Unwind_SjLj_Resume'
C:/Users/Viper/viper-sugui/Viper/coordinatesetter.cpp:42: undefined reference to `_Unwind_SjLj_Unregister'
./debug\coordinatesetter.o: In function `ZN14VelocitySetterC1EP5QListIdEP7QWidget':
C:/Users/Viper/viper-sugui/Viper/coordinatesetter.cpp:8: undefined reference to `__gxx_personality_sj0'
C:/Users/Viper/viper-sugui/Viper/coordinatesetter.cpp:8: undefined reference to `_Unwind_SjLj_Register'
C:/Users/Viper/viper-sugui/Viper/coordinatesetter.cpp:42: undefined reference to `_Unwind_SjLj_Resume'
C:/Users/Viper/viper-sugui/Viper/coordinatesetter.cpp:42: undefined reference to `_Unwind_SjLj_Unregister'
./debug\coordinatesetter.o: In function `ZN14VelocitySetter4doneEi':
C:/Users/Viper/viper-sugui/Viper/coordinatesetter.cpp:46: undefined reference to `__gxx_personality_sj0'
C:/Users/Viper/viper-sugui/Viper/coordinatesetter.cpp:46: undefined reference to `_Unwind_SjLj_Register'
C:/Users/Viper/viper-sugui/Viper/coordinatesetter.cpp:48: undefined reference to `_Unwind_SjLj_Resume'
C:/Users/Viper/viper-sugui/Viper/coordinatesetter.cpp:51: undefined reference to `_Unwind_SjLj_Resume'
C:/Users/Viper/viper-sugui/Viper/coordinatesetter.cpp:55: undefined reference to `_Unwind_SjLj_Unregister'
./debug\coordinatesetter.o: In function `ZN14VelocitySetter6addRowEv':
C:/Users/Viper/viper-sugui/Viper/coordinatesetter.cpp:59: undefined reference to `__gxx_personality_sj0'
C:/Users/Viper/viper-sugui/Viper/coordinatesetter.cpp:59: undefined reference to `_Unwind_SjLj_Register'
C:/Users/Viper/viper-sugui/Viper/coordinatesetter.cpp:64: undefined reference to `_Unwind_SjLj_Resume'
C:/Users/Viper/viper-sugui/Viper/coordinatesetter.cpp:68: undefined reference to `_Unwind_SjLj_Unregister'
./debug\coordinatesetter.o: In function `ZNK14VelocitySetter10velocitiesEv':
C:/Users/Viper/viper-sugui/Viper/coordinatesetter.cpp:71: undefined reference to `__gxx_personality_sj0'
C:/Users/Viper/viper-sugui/Viper/coordinatesetter.cpp:71: undefined reference to `_Unwind_SjLj_Register'
C:/Users/Viper/viper-sugui/Viper/coordinatesetter.cpp:78: undefined reference to `_Unwind_SjLj_Resume'
C:/Users/Viper/viper-sugui/Viper/coordinatesetter.cpp:78: undefined reference to `_Unwind_SjLj_Unregister'
./debug\coordinatesetter.o: In function `ZN5QListI7QStringE13node_destructEPNS1_4NodeES3_' :

Ted.

ChrisW67
17th October 2010, 04:21
It's very unlikely that anything built with 4.4.3 will fail to build with 4.6.3 or 4.7.0. If it does, it will most likely fail in compilation because of API differences, and not at link time. It looks like the GCC C++ support library is not being found or you are linking a library built with a different version of GCC and/or Qt . Are you using the Nokia provided SDK or have you built MingW for yourself? Have your cleaned the project and any libraries, rerun qmake, and built from scratch?

gboelter
17th October 2010, 04:43
If so where can I download the previous version.

http://download.qt.nokia.com/qt/source
http://download.qt.nokia.com/qt/source/qt-win-opensource-4.4.3-mingw.exe

afflictedd2
17th October 2010, 15:57
It's very unlikely that anything built with 4.4.3 will fail to build with 4.6.3 or 4.7.0. If it does, it will most likely fail in compilation because of API differences, and not at link time. It looks like the GCC C++ support library is not being found or you are linking a library built with a different version of GCC and/or Qt . Are you using the Nokia provided SDK or have you built MingW for yourself? Have your cleaned the project and any libraries, rerun qmake, and built from scratch?

Ok I followed as you suggested and decided to use Qt Creator to do this, as
it has the right commands and it worked. I was wondering though, I want
to be able to build other things using my own cygwin make in other projects,
and at the same time I want to be able to build using the mingw32-make for this
project without QtCreator. I am not sure what to do, because if I have
C:/Cygwin/bin in my path, mingw32-make calls the wrong g++, and I get all those
ugly errors. What would you suggest for this?

Ted

wysota
17th October 2010, 16:07
Manipulate the PATH variable so that the proper g++ is always first in the path. If you want to force a specific g++, you can redefine QMAKE_CXX and similar for your projects.