Nominate our 2022 Qt Champions!

Building QtWebKit with QT 5.6 on Windows

  • I'm trying to compile QtWebkit with VS2015, QT 5.6 itself builds fine. Since webkit module was removed in 5.6 I reverted revision SHA-1: 4116ec2474e608c9a752ace5e8eb92cbd4052ebc " Removed QtWebkit and QtWebkit-Examples from qt5.git" so I can get webkit module downloaded when I run "init-repository". However while building, I'm getting a linker error which does not make any sense:

    link /NOLOGO /DYNAMICBASE /NXCOMPAT /INCREMENTAL:NO /SUBSYSTEM:CONSOLE "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='' publicKeyToken='6595b64144ccf1df' language='' processorArchitecture=''" /MANIFEST:embed /OUT:....\bin\jsc.exe @C:\Users\PAVLOD~1\AppData\Local\Temp\nmA33.tmp

    LINK : fatal error LNK1181: cannot open input file '\OPT:REF.obj'

    I had no problem building QtWebkit with QT 5.5.1. Something has changed in 5.6 which prevents it being built out of the box. Most likely I've got my dependencies wrong. How would I even begin debugging a problem? I tried running that command manually, but it complained that it couldn't find .tmp file. I assume that build scripts generate temp files for something then deletes them. The file it tried to link I think is related to jsc.cpp, because it's what it tried to compile right before linking.

  • @pullo Perhaps I'm not reading you right, but Qt 5.5 was the end of the road for QWebView (the embedded webkit). The preliminary docs on Qt 5.6 suggest that you should migrate to QtWebEngine:

    (There's also a migration doc link in that link.)

    Unfortunately, though, a few things happen here:

    • You'll get Chromium instead of the older embedded Webkit. That means a fatter install.
    • If you port this to iOS in the future (not that you would), the Apple Store rules will decline your app if you submit it to the Apple Store. This is because they want you to use native webkit that ships with iOS, which might be QtWebKit (not to be confused with QWebView), which I only got to try out as a tech preview in Qt 5.5 (and it came with a lot of impractical quirks). It's also still unclear whether the Android (Google Play) and OSX (Apple Store) teams would block your app from being in those stores because it uses Chromium instead of native webkit API -- I'm trying right now to get clarification from Apple on whether OSX apps are affected if using QWebView (again, not to be confused with QtWebEngine or QtWebView).

  • Lifetime Qt Champion


    Small correction for @maximo, there's no support for QtWebKit on iOS since it's not using the native webkit.

    @pullo You don't need to revert that patch, you can simply clone the corresponding repositories. Now since you could build 5.5.1. Was it from git or from Qt's source package ?

Log in to reply