I have QT 5.3 and an application that use a QWebView widget. But I have a PC that doesn't have SSE2 (that is requiered for QT 5.3), so I decided to build QT from source without SSE2 to run my application on this PC. QT compiled without problem but when I want to compile the QTWebKit module there is an error :
(...)-LC:/qt-5.3.0/qtbase/lib -lQt5Positioning -LC:/qt-5.3.0/qtbase/lib -lQt5Sensors -LC:/qt-5.3.0/qtbase/lib -lQt5Core
Warning: resolving _cti_vm_throw by linking to @cti_vm_throw@4
Use --enable-stdcall-fixup to disable these warnings
Use --disable-stdcall-fixup to disable these fixups
C:/qt-5.3.0/qtwebkit/WebKitBuild/Release/Source/WebKit2/release/libWebKit2.a(QtNetworkAccessManager.o):QtNetworkAccessManager.cpp:(.text+0x310): undefined reference to `_imp___ZN13QNetworkReply15ignoreSslErrorsERK5QListI9QSslErrorE'
C:/qt-5.3.0/qtwebkit/WebKitBuild/Release/Source/WebKit2/release/libWebKit2.a(QtNetworkAccessManager.o):QtNetworkAccessManager.cpp:(.text$_ZN5QListI9QSslErrorED1 Ev[__ZN5QListI9QSslErrorED1Ev]+0x14): undefined reference to `_imp___ZN9QSslErrorD1Ev'
C:/Qt/Tools/mingw482_32/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../i686-w64-mingw32/bin/ld.exe: C:/qt-5.3.0/qtwebkit/WebKitBuild/Release/Source/WebKit2/release/libWebKit2.a(QtNetworkAccessManager.o): bad reloc address 0x14 in section `.text$_ZN5QListI9QSslErrorED1Ev[__ZN5QListI9QSslErrorED1Ev]'
collect2.exe: error: ld returned 1 exit status
I suppose it is due to
Warning: resolving _cti_vm_throw by linking to @cti_vm_throw@4
I also thought about a bug in webkit but I'm not sure.
Could you help me to resolve this ?
The error seems to be about not found symbols in your QtNetwork release dll file. The reason is that you built that module without OpenSSL support.
C:/qt-5.3.0/qtwebkit/WebKitBuild/Release/Source/WebKit2/release/libWebKit2.a(QtNetworkAccessManager.o):QtNetworkAccessManager.cpp:(.text+0x310): undefined reference to `_imp___ZN13QNetworkReply15ignoreSslErrorsERK5QListI9QSslErrorE'
C:/qt-5.3.0/qtwebkit/WebKitBuild/Release/Source/WebKit2/release/libWebKit2.a(QtNetworkAccessManager.o):QtNetworkAccessManager.cpp:(.text$_ZN5QListI9QSslErrorED1 Ev[__ZN5QListI9QSslErrorED1Ev]+0x14): undefined reference to `_imp___ZN9QSslErrorD1Ev'
Based on the comment discussion, it seems that you have only installed OpenSSL properly during the compilation of your release QtNetwork module build. That is very likely the reason for this issue.
The solution is to rebuilt your qtnetwork release build as your system is now, so you will get the SSL related symbols in your dll.
Remember that the criteria is that you need to have a proper openssl installation that Qt can recognize while trying to build.