zoukankan      html  css  js  c++  java
  • Compiling Qt 5.5.1 (With Qtwebkit) With Visual Studio 2015

    I usually avoid writing articles about building a specific version of a software project but this time I need to archive it for later use and I believe it’s useful to my fellow programmers.

    Despite it’s been released for a while already, it seems the Qt project won’t release binaries prebuilt with Visual Studio 2015 until Qt 5.6 is out. That is to say, somewhere between today and say January, 2016 (blind guess). At work, we’re transitioning from Visual Studio 2012 to Visual Studio 2015 and some projects depend on Qt. That’s why I decided to bite the bullet.

    I have to say that I found Qt’s official building from source instructions rather vague. Let the treasure hunt begin.

    I first stumbled upon the Qt for Windows - Building from Source page which itself links to the Qt for Windows - Requirements page. The requirements page mentions the ICU and ANGLE libraries. ICU is needed when building QtWekbit and ANGLE is what Qt uses by default for its official Windows builds. To build ANGLE, the requirements page implies you have to install the Direct X SDK. Don’t panic if you don’t find the download for that SDK: it’s been a long time since that SDK ships as part of the Windows SDK itself, which you install along with Visual Studio 2015.

    At that point, I felt alone but that didn’t last long. I joined #qt on Freenode and asked around. Someone mentioned theBuilding Qt 5 from Git page on Qt’s wiki which indirectly points to the Compiling ICU with MSVC page.

    I decided to go with ICU4C version 54.1 as instructed in the wiki page. However, this version needs to be patched in order to build with Visual Studio 2015: I opened source/io/ufile.c at line 66 and replaced:

    #if U_PLATFORM_USES_ONLY_WIN32_API
    

    by

    #if U_PLATFORM_USES_ONLY_WIN32_API && _MSC_VER < 1900
    

    Then, I proceeded with building ICU as explained in Qt’s wiki.

    As for ANGLE, it turns out Qt bundles its own version and there’s nothing to do. Qt’s configure script will just detect and use it.

    QtWebkit now. The Building Qt 5 from Git page tricks you into visiting the official Build Instructions for the QtWebKit build on Windows page on Webkit’s wiki. Just don’t go there. It’s just adding more confusion. You don’t have to build QtWebkit yourself, it’s going to be built as part of Qt’s build provided you installed the proper prerequisites.

    Before proceeding with building Qt (with QtWebkit), all you need is to do is installing the following tools (listed on theBuilding Qt 5 from Git page):

    Those tools have to be in your %PATH% environment variable as well as Qt’s gnuwin32in directory which providesbisonflex and gperf.

    I decided to install Active Python 2.7, Strawberry Perl 5.22.0.1 (64 bit) and RubyInstaller 2.2.3 (x64).

    Finally, Qt 5.5.1’s source drop shipped with a bug that despite having been opened against RC1 was resolved as “works on our machines, SHIP IT!” :D Hopefully, resolution is quite easy, I just patched src/3rdparty/assimp/assimp.pri.

    After all those steps, I successfully built Qt 5.5.1 with QtWebkit with Visual Studio 2015. To help you out, I prepared two Windows batch files: build-x64.bat and build-x86.bat. Create a directory somewhere on your computer and make sure you come up with the following directory structure:

    .
    ├── build-x64.bat
    ├── build-x86.bat
    ├── icu
    │   └── source
    │       ├── ...
    │       └── configure
    └── qt-everywhere-opensource-src-5.5.1
        ├── ...
        └── configure
    

    Finally, open a CMD.exe prompt, cd to the directory containing the .bat files and launch either build-x64.bat orbuild-x86.bat

    Hope that helps!

    http://files.cnblogs.com/files/findumars/qt5.51_webkit_build.rar

    http://pempek.net/articles/2015/10/18/compiling-qt-5-5-1-with-visual-studio-2015/

  • 相关阅读:
    自动化测试-18.selenium之bugFree代码注释
    自动化测试-16.selenium数据的分离之Excel的使用
    自动化测试-15.selenium单选框与复选框状态判断
    自动化测试-14.selenium加载FireFox配置
    自动化测试-13.selenium执行JS处理滚动条
    Lucas-Kanade算法总结
    迟来的2013年总结及算法工程师/研究员找工作总结
    Android从文件读取图像显示的效率问题
    Viola Jones Face Detector
    谈谈Android中的SurfaceTexture
  • 原文地址:https://www.cnblogs.com/findumars/p/5634635.html
Copyright © 2011-2022 走看看