Bug 40978

Summary: [Qt] Linking error when QtWebKit is build statically with MSVC2005
Product: WebKit Reporter: Kent Hansen <kent.hansen>
Component: WebKit QtAssignee: Simon Hausmann <hausmann>
Status: RESOLVED WONTFIX    
Severity: Normal Keywords: Qt, QtTriaged
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: OS X 10.5   

Description Kent Hansen 2010-06-22 03:07:06 PDT
When Qt (4.7) is built statically (configured with -static -release), applications that use the QtWebKit module fail to link.

C:\Users\Kent\dev\qtbugs\QTBUG-8657>nmake

Microsoft (R) Program Maintenance Utility   Version 7.00.8882
Copyright (C) Microsoft Corp 1988-2000. All rights reserved.

        nmake -f Makefile.Release

Microsoft (R) Program Maintenance Utility   Version 7.00.8882
Copyright (C) Microsoft Corp 1988-2000. All rights reserved.

        cl -c -nologo -Zm200 -Zc:wchar_t- -O2 -MD -GR -EHsc -W3 -w34100 -w34189
-DUNICODE -DWIN32 -DQT_LARGEFILE_SUPPORT -DQT_NO_DEBUG -DQT_WEBKIT_LIB -DQT_GUI_
LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I"..\..\qt-oslo-staging-1-4.7-msvc2005\in
clude\QtCore" -I"..\..\qt-oslo-staging-1-4.7-msvc2005\include\QtGui" -I"..\..\qt
-oslo-staging-1-4.7-msvc2005\include\QtWebKit" -I"..\..\qt-oslo-staging-1-4.7-ms
vc2005\include" -I"." -I"..\..\qt-oslo-staging-1-4.7-msvc2005\include\ActiveQt"
-I"release" -I"..\..\qt-oslo-staging-1-4.7-msvc2005\mkspecs\default" -Forelease\
 @C:\Users\Kent\AppData\Local\Temp\nm335E.tmp
main.cpp
        link /LIBPATH:"c:\Users\Kent\dev\qt-oslo-staging-1-4.7-msvc2005\lib" /NO
LOGO /INCREMENTAL:NO /MANIFEST /MANIFESTFILE:"release\QTBUG-8657.intermediate.ma
nifest" /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Win
dows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' langua
ge='*' processorArchitecture='*'" /OUT:release\QTBUG-8657.exe @C:\Users\Kent\App
Data\Local\Temp\nm68D0.tmp
LINK : fatal error LNK1181: cannot open input file '../JavaScriptCore/release\js
core.lib'
NMAKE : fatal error U1077: 'link' : return code '0x49d'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Platform SDK for Windows
 Server 2003 R2\Bin\nmake.exe"' : return code '0x2'
Stop.



It's looking for "../JavaScriptCore/release\jscore.lib".
There is a jscore.lib, but it's in src/3rdparty/webkit/JavaScriptCore/Release.
Comment 1 Kent Hansen 2010-06-22 04:25:57 PDT
Can be worked around by copying jscore.lib from src/3rdparty/webkit/JavaScriptCore/Release to ../JavaScriptCore/release relative to where the app is built (so the linker will find it).
Comment 2 Simon Hausmann 2010-06-23 01:09:05 PDT
Unfortunately with Qt 4.7 we decided to remove support for static linking of QtWebKit. Change 4221d629e2cf37ee8c5ba7cb595b05ab8c82f113 in Qt 4.7 will disable the build of WebKit if Qt is configured for static linking.