Hello Maxim!

At my company, we were able to build Qt and WebKit under MSVC 2008, but we are using the whole Qt stack, version 5.1. We had compiled 4.8.4 some time ago, but we discovered the hard way that Javascript support wasn't available in 64 bit version of WebKit until Qt 5.1.

32 and 64 bits build were possible. First, we've learned that there are differences between TAR.GZ / TAR.XZ and ZIP packages downloaded from Digia. The ZIP packages have some differences in build scripts that made build in MSVC2008 possible.

But first, we had to compile ICU under MSVC2008 because WebKit depends on it, and it's a PITA to do so.

I can't confirm you IF we have WebGL available in ours builds, because it doesn't make difference for us.


If I can provide any further help, feel free to ask :)


Cheers,
Richard.


On 08/08/2013 11:09 AM, Maxim Schäfner wrote:
Hi Qt-Webkit mailing list members,

we are trying to build our own QtWebkit library which we can distribute along with our Qt using application. On our application we are using the MSVC Qt4.7.4 binaries from the official Qt download links on their page. But as we received the request that our application should support the rendering of 3d models in an qwebview widget, we noticed that the webkit which is used by the qwebview in our application which is currently on Qt4.7.4 does not support 3d rendering on GPU hardware. Than we realized that we have to explicitly enable that feature by
supporting WebGL in our application's used Webkit.
Than we be told that if we want to have WebGL support, we have to use the newer Qt5 binaries to enable that feature. The problem is that at the moment we can't switch to an Qt5+ version, because we have still to support the older Qt3-classes which as we know are now removed from Qt for version 5+.

After some research we found an url which states that there is a brach of QtWebkit which uses the new features of Qt5's webkit, but is able to be used on Qt-4.8. This information we read on the following URL:

http://blogs.kde.org/2013/03/15/qtwebkit-230-out

So now we are trying to build our own QtWebkit with the help of the trace.webkit information pages:

http://trac.webkit.org/wiki/QtWebKit
http://trac.webkit.org/wiki/BuildingQtOnWindows
http://trac.webkit.org/wiki/QtWebKitWebGL

After the install of all the needed tools described here: http://trac.webkit.org/wiki/BuildingQtOnWindows
We used the build script which commando is written there:
perl Tools\Scripts\build-webkit --qt --release
With the addition to enable the WebGL support as written here: http://trac.webkit.org/wiki/QtWebKitWebGL
-webgl
With the information of the first page: http://blogs.kde.org/2013/03/15/qtwebkit-230-out We added some additional parameters as noted there, because we need to be only 32Bit:
--no-webkit2 --no-force-sse2
So with this additions the complete commando we received was this:
perl Tools\Scripts\build-webkit --qt --release --no-webkit2 -no-force-sse2 -webgl

Till now we always used the MSVC 2008 compiler with the available already built binaries to build our application on Windows. So we want to stay on that compiler for compatibility with our application. As noted in the given links we already downloaded the sources of Q4.8.4 which also have the Qt3-classes support. We already build the Qt4.8.4 sources with MSVC2008 to the respective binaries and set the needed PATH
variables, too.

Then we started the building script for QtWebkit:
perl Tools\Scripts\build-webkit --qt --release --no-webkit2 -no-force-sse2 -webgl

Unfortunately the building failed with these parameters, with generic compile errors in missing header files. Then we found out that we maybe need some additional Webkit support libraries as stated here:
http://aautar.digital-radiation.com/blog/?p=85
https://developer.apple.com/opensource/internet/webkit_sptlib_agree.html

But this did't helped either, as we still had generic compile errors.

So now we decided to build QtWebkit only with the default parameters listed here to verify that we are able to build QtWebkit at all. So we used the default-non-extra-parameters-commando from:
http://trac.webkit.org/wiki/BuildingQtOnWindows
And so the following line:
perl Tools\Scripts\build-webkit --qt --release

And as we see, we are still not possible to build our own QtWebkit, because we still get generic compile errors:
With the first ones are:

.......
NavigatorGeolocation.cpp
Code is generated...
cl -c -nologo -Zm200 -Zc:wchar_t- -wd4291 -wd4344 -wd4396 -wd4503 -wd4800 -wd4819 -wd4996 -O2 -MD -GR -EHsc -DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_MAKEDLL -DBUILDING_QT__=1 -D NDEBUG -DBUILDING_WebCore -DBUILDING_WEBKIT -DQT_ASCII_CAST_WARNINGS -DSTATICALLY_LINKED_WITH_JavaScriptCore -DSTATICALLY_LINKED_WITH_WTF -DQT_MAKEDLL -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK _LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -I"c:\OwnQtWebkit\qt-everywhere-opensource-src-4.8.4\qt-everywhere-opensour ce-src-4.8.4\include\QtCore" -I"c:\OwnQtWebkit\qt-every...cutted.away.too.long ;)..........ywhere-opensource-src-4.8.4\mkspec s\win32-msvc2008" -Foobj\release\ @C:\DOKUME~1\ADMINI~1\LOKALE~1\Temp\nm71.tmp
AbstractDatabase.cpp
DOMWindowWebDatabase.cpp
Database.cpp
DatabaseAuthorizer.cpp
DatabaseContext.cpp
DatabaseSync.cpp
WorkerContextWebDatabase.cpp
c:\OwnQtWebkit\qtwebkit-developers-qtwebkit-23-qtwebkit-2.3.0\webkit-qtwebkit-23\Source\WebCore\Modules\webdatabase\WorkerContextWebDatabase.cpp(46) : error C2027: use of undefined type "WebCore::WorkerContext" c:\ownqtwebkit\qtwebkit-developers-qtwebkit-23-qtwebkit-2.3.0\webkit-qtwebkit-23\source\webcore\modules\webdatabase\WorkerContextWebDatabase.h(43): See declaration of 'WebCore::Wo
rkerContext'
c:\OwnQtWebkit\qtwebkit-developers-qtwebkit-23-qtwebkit-2.3.0\webkit-qtwebkit-23\Source\WebCore\Modules\webdatabase\WorkerContextWebDatabase.cpp(46) : error C2227: left of "->securityOrigi
n" must point to class/struct/union/generic type.
c:\OwnQtWebkit\qtwebkit-developers-qtwebkit-23-qtwebkit-2.3.0\webkit-qtwebkit-23\Source\WebCore\Modules\webdatabase\WorkerContextWebDatabase.cpp(46) : error C2227: left of "->canAccessData
base" must point to class/struct/union/generic type.
c:\OwnQtWebkit\qtwebkit-developers-qtwebkit-23-qtwebkit-2.3.0\webkit-qtwebkit-23\Source\WebCore\Modules\webdatabase\WorkerContextWebDatabase.cpp(46) : error C2027: use of undefined type "WebCore::WorkerContext" c:\ownqtwebkit\qtwebkit-developers-qtwebkit-23-qtwebkit-2.3.0\webkit-qtwebkit-23\source\webcore\modules\webdatabase\WorkerContextWebDatabase.h(43): See declaration of 'WebCore::Wo
rkerContext'
c:\OwnQtWebkit\qtwebkit-developers-qtwebkit-23-qtwebkit-2.3.0\webkit-qtwebkit-23\Source\WebCore\Modules\webdatabase\WorkerContextWebDatabase.cpp(46) : error C2227: left of "->topOrigin" must point to class/struct/union/generic type. c:\OwnQtWebkit\qtwebkit-developers-qtwebkit-23-qtwebkit-2.3.0\webkit-qtwebkit-23\Source\WebCore\Modules\webdatabase\WorkerContextWebDatabase.cpp(51) : error C2664: 'WebCore::Database::openDa tabase': Converting of parameter 1 of 'WebCore::WorkerContext *' in 'WebCore::ScriptExecutionContext *' not possible The types which are refernced are not linked; the convert needs an reinterpret_cast-Operator or an type cast in C- or Functionsformat. c:\OwnQtWebkit\qtwebkit-developers-qtwebkit-23-qtwebkit-2.3.0\webkit-qtwebkit-23\Source\WebCore\Modules\webdatabase\WorkerContextWebDatabase.cpp(56) : error C2027: use of undefined type "WebCore::WorkerContext" c:\ownqtwebkit\qtwebkit-developers-qtwebkit-23-qtwebkit-2.3.0\webkit-qtwebkit-23\source\webcore\modules\webdatabase\WorkerContextWebDatabase.h(43): See declaration of 'WebCore::Wo
rkerContext'
c:\OwnQtWebkit\qtwebkit-developers-qtwebkit-23-qtwebkit-2.3.0\webkit-qtwebkit-23\Source\WebCore\Modules\webdatabase\WorkerContextWebDatabase.cpp(56) : error C2227: left of "->securityOrigi
n" must point to class/struct/union/generic type.
c:\OwnQtWebkit\qtwebkit-developers-qtwebkit-23-qtwebkit-2.3.0\webkit-qtwebkit-23\Source\WebCore\Modules\webdatabase\WorkerContextWebDatabase.cpp(56) : error C2227: left of "->canAccessData
base" must point to class/struct/union/generic type.
c:\OwnQtWebkit\qtwebkit-developers-qtwebkit-23-qtwebkit-2.3.0\webkit-qtwebkit-23\Source\WebCore\Modules\webdatabase\WorkerContextWebDatabase.cpp(56) : error C2027: use of undefined type "WebCore::WorkerContext" c:\ownqtwebkit\qtwebkit-developers-qtwebkit-23-qtwebkit-2.3.0\webkit-qtwebkit-23\source\webcore\modules\webdatabase\WorkerContextWebDatabase.h(43): See declaration of 'WebCore::Wo
rkerContext'
c:\OwnQtWebkit\qtwebkit-developers-qtwebkit-23-qtwebkit-2.3.0\webkit-qtwebkit-23\Source\WebCore\Modules\webdatabase\WorkerContextWebDatabase.cpp(56) : error C2227: left of "->topOrigin" must point to class/struct/union/generic type. c:\OwnQtWebkit\qtwebkit-developers-qtwebkit-23-qtwebkit-2.3.0\webkit-qtwebkit-23\Source\WebCore\Modules\webdatabase\WorkerContextWebDatabase.cpp(61) : error C2664: 'WebCore::DatabaseSync::op enDatabaseSync': Converting of parameter 1 of 'WebCore::WorkerContext *' to 'WebCore::ScriptExecutionContext *' not possible The types which are refernced are not linked; the convert needs an reinterpret_cast-Operator or an type cast in C- or Functionsformat.
Code is generated...
NMAKE : fatal error U1077: ""C:\Programme\Microsoft Visual Studio 9.0\VC\BIN\cl.EXE"": Return-Code "0x2"
Stop.
NMAKE : fatal error U1077: ""C:\Programme\Microsoft Visual Studio 9.0\VC\BIN\nmake.exe"": Return-Code "0x2"
Stop.
NMAKE : fatal error U1077: ""C:\Programme\Microsoft Visual Studio 9.0\VC\BIN\nmake.exe"": Return-Code "0x2"
Stop.
NMAKE : fatal error U1077: "cd": Return-Code "0x2"
Stop.
NMAKE : fatal error U1077: ""C:\Programme\Microsoft Visual Studio 9.0\VC\BIN\nmake.exe"": Return-Code "0x2"
Stop.
.......
(I translated the errors messages from german to english, I hope they are correctly translated, but the error code is the same)

So the build fails.
Now, what is this web database and what did we wrong in the whole procedure?
Did we missed something? We appreciate any help we get.
Thank you very much if there some one there who can help us with this.

Thank you, best regards,

Max


_______________________________________________
webkit-qt mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-qt

_______________________________________________
webkit-qt mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-qt

Reply via email to