Cannot build Qt Webkit with version 4.7.1: configure.exe -release -platform win32-icc
-
Hm, I've forgotten - does icc always name its static archive with ".a", even when it's in Microsoft mode?
Also, are you attempting to do two builds of Qt at the same time (e.g., an x86 build and an x64 build)? -
Would you do me a favour and post that makefile to Pastebin?
-
I'm new to Qt in general and all the protocols. Hopefully, I did it correctly. I pasted the Makefile her:
-
Er, sorry - I wasn't sufficiently specific. That's the top-level makefile; I need the one at src/3rdparty/webkit/WebCore/Makefile (since presumably that one is the one which is dying).
-
My fault, should have figure that out. Here's the Makefile for QtWebkit
-
Still not it, argh... how about Makefile.debug in that dir? :)
-
The makefile seems to be too large (550K lines) for Pastebin to handle. Server is timing out after trying to submit. Anyway, I see the following in the Makefile:
Here's it's using jscore.lib
LIBS = ..\JavaScriptCore\release\jscore.lib winmm.lib gdi32.lib user32.lib advapi32.lib gdi32.lib shell32.lib shlwapi.lib user32.lib version.lib c:\Qt_work\ICL\qt-everywhere-opensource-src-4.7.1\lib\phonon4.lib c:\Qt_work\ICL\qt-everywhere-opensource-src-4.7.1\lib\QtGui4.lib c:\Qt_work\ICL\qt-everywhere-opensource-src-4.7.1\lib\QtNetwork4.lib c:\Qt_work\ICL\qt-everywhere-opensource-src-4.7.1\lib\QtCore4.lib tmp\obj\release_shared\QtWebKit_resource.res
But here, it's specifying libjscore.a
####### Build rules
first: all
all: Makefile.Release ........\lib\QtWebKit.prl $(DESTDIR_TARGET)$(DESTDIR_TARGET): $(OBJECTS) ..\JavaScriptCore\release\libjscore.a tmp\obj\release_shared\QtWebKit_resource.res
$(LINK) $(LFLAGS) /OUT:$(DESTDIR_TARGET) @<< $(OBJECTS) $(LIBS)In the working Makefile, where I modify the configure command to: configure -release -webkit -platform win32-msvc2008
The Makefile generated has both jscore.lib in both places
LIBS = /LIBPATH:../JavaScriptCore/debug ../JavaScriptCore/debug\jscore.lib winmm.lib gdi32.lib user32.lib advapi32.lib gdi32.lib shell32.lib shlwapi.lib user32.lib version.lib c:\Qt_work\ICL\qt-everywhere-opensource-src-4.7.1\lib\phonond4.lib c:\Qt_work\ICL\qt-everywhere-opensource-src-4.7.1\lib\QtGuid4.lib c:\Qt_work\ICL\qt-everywhere-opensource-src-4.7.1\lib\QtNetworkd4.lib c:\Qt_work\ICL\qt-everywhere-opensource-src-4.7.1\lib\QtCored4.lib tmp\obj\debug_shared\QtWebKitd_resource.res
####### Build rules
first: all
all: Makefile.Debug ........\lib\QtWebKitd.prl $(DESTDIR_TARGET)$(DESTDIR_TARGET): $(OBJECTS) ..\JavaScriptCore\debug\jscore.lib tmp\obj\debug_shared\QtWebKitd_resource.res
$(LINK) $(LFLAGS) /OUT:$(DESTDIR_TARGET) @<< $(OBJECTS) $(LIBS)Either configure or qmake is screwing up the generation of the Makefile when win32-icc is specified as the platform for configure.
-
I'm 90% sure this is in qmake's arena.
Okay, so time to bypass normal conventions.
At the top of that generated Makefile (the broken one), you will see a line which reads something like: @"Command: C:\qt-src\bin\qmake -spec C:\qt-src\mkspecs\win32-icc ..."@
(Sorry, I am in Linux at the moment, so it's "something like that"...)At a command prompt, change into the directory which contains that makefile, copy and paste in that line, but at the end add @-d -d >qmake.dbg 2>&1@
You will end up with one ridiculously ginormous file. Please compress that up and e-mail it to me (you can get my e-mail address by going to my profile and clicking on the Gitorious link; my e-mail address is right up top).
-
My error - apparently qmake only does that for Unix-style Makefiles...
So amending that, just change into that directory and run:
@qmake -o Makefile.Debug WebCore.pro -d -d >qmake.dbg 2>&1@