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