[webkit-dev] Build webkit for Qt / msvc 2005 express

Silex silex0r at gmail.com
Wed Aug 22 10:59:00 PDT 2007


Hello,

I want to get qt-webkit for Qt 4.3.1, using msvc 2005 express on Windows XP.

I tried to follow the instructions from
http://trac.macosforge.org/projects/webkit/wiki/BuildingQtOnWindows.

Here's what I've done:

1) Install msvc 2005 express & service pack 1
2) Install platform SDK & configure vcvar32.bat
3) Install Qt 4.3.1 & set QTDIR and QMAKESPEC
4) Install bison, flex, libicon, gperf and perl & configure the PATH
5) Fetch http://svn.webkit.org/repository/webkit/trunk with Tortoise SVN
6) Open a cmd, go to the webkit dir, run "perl WebKitTools\Scripts\build-webkit"
7) cry & debug errors for hours until giving up and asking here

Here the errors I encountered along my debugging session :

In JavaScriptCore\wtf\unicode\qt4\UnicodeQt4.h:303:

The line "result[i] = QChar::toCaseFolded(src[i])" made a compile
error because the call to QChar::toCaseFolder() was ambiguous
(uint32_t or uint16_t?). I solved it by casting to the appropriate
type.

The same kind of error happens in "WebCore\platform\qt\FontQt.cpp".

Then the .c files in "JavaScriptCore\API" aren't compiled in C99 mode
so the following didn't compile because nodeLink isn't declared at top
of scope :

void Node_appendChild(Node* node, Node* child)
{
    Node_ref(child);
    NodeLink* nodeLink = (NodeLink*)malloc(sizeof(NodeLink));
    /* ... */
}

I fixed that by adding "-TP" to my QMAKE_CFLAGS in
C:\Qt\4.3.1\mkspecs\win32-msvc2005, that way the .c were compiled in
c++ mode.

But then it started to go downhill from there... and really badly.

In "JavaScriptCore\os-win32\stdbool.h" :

#if !PLATFORM(WIN_OS)
#error "This stdbool.h file should only be compiled under Windows"
#endif

I got the #error triggered ! Which means WIN_OS wasn't defined or
something was really fishy... I commented it out and it compiled but
then later on I had hundreds of side effects like it couldn't #include
implementation files for windows etc so at this point I gave up and
someone in #webkit adviced me to ask here on this mailing list :)

Thanks for reading me so far, any help is really appreciated :)
Philippe



More information about the webkit-dev mailing list