• Qt5msvc2012编译安装


    Qt5发布已经有一段时间了,从官网下载的Windows编译版本是基本msvc2010的,Debug版本程序编译有问题,所以尝试了自行编译;开始尝试使用mingw 4.7.2编译Qt5,碰到了内存分配错误,在网上查找未找到有效的解决方案,所以最后转而使用msvc2012编译Qt。

    下面是文中源码的目录结构:

    D:\SDK\Qt
           ├─5.0.0
           │  ├─msvc2012
           │  └─src
           └─third
               ├─icu
               └─openssl-1.0.1c

    1. 编译环境准备

    下载安装Visual Studio 2012 Express、Windows Kit 8;

    2. 编译第三方库

    第三方库这里主要用到了icu, openssl,这两个库应该是可选,如果configure的时候不需要,这一步应该可以跳过;安装方法可以查看相关readme文件;

    3. 下载Qt5源代码

    http://qt-project.org/downloads

    4. 配置相关环境变量

    下面是自己做的一个批处理文件,使用时需要调整安装包的路径:

    @echo Setting Qt Build Env... 
    
    @CALL "C:\Program Files\Microsoft Visual Studio 11.0\VC\vcvarsall.bat" 
    
    set QT5_DIR=D:\SDK\Qt\5.0.0
    set THIRDPARTY_DIR=D:\SDK\Qt\third
    set JOM_DIR=D:\SDK\Qt\jom
    
    @cd /d %QT5_DIR%\src
    set INCLUDE=%THIRDPARTY_DIR%\icu\include;%THIRDPARTY_DIR%\openssl-1.0.1c\msvc2012\include;%INCLUDE% 
    set LIB=%THIRDPARTY_DIR%\icu\lib;%THIRDPARTY_DIR%\openssl-1.0.1c\msvc2012\lib;%LIB% 
    set PATH=%CD%\qtbase\bin;%CD%\gnuwin32\bin;%JOM_DIR%;D:\SDK\Perl\bin;D:\SDK\Python27;D:\SDK\ruby-1.9.3-p362-i386-mingw32\bin;%THIRDPARTY_DIR%\icu\bin;%THIRDPARTY_DIR%\openssl-1.0.1c\msvc2012\bin;D:\Program Files\PortableGit\cmd;%PATH% 
    
    @echo Finished.

    5. 根据需要配置生成Makefile文件

    打开cmd窗口,运行上一步配置的批处理脚本;使用configure.bat生成Makefile文件:
    如果跳过第2步,这里要去掉-icu, –openssl选项;注意-prefix选项,这个是用来配置Qt5编译完成后安装路径的,下面是我的安装路径:

    configure -prefix D:\SDK\Qt\5.0.0\msvc2012 -opensource -confirm-license -platform win32-msvc2012 -developer-build -c++11 -icu -opengl desktop -openssl -nomake tests -nomake examples

    6. 编译安装Qt5开发库

    使用jom工具或nmake编译Qt5,jom可以充分利用多核CPU性能,下方以jom命令为例,可以更换为nmake;

    jom是用来编译库文件的,完成后使用jom install命令安装开发需要的文件到-prefix变量设置的目录:

    jom
    jom install

    7. 编译安装Qt5帮助文件

    编译安装Qt5是默认是没有编译安装帮助文件的,需要手动编译安装:

    jom docs
    jom install_docs

    遗留问题:

    Qt Assistant打不开,这个问题还没有解决,目前查看帮助文档可以在Qt Creator中查看。

    参考文档:

    1. http://qt-project.org/wiki/Building_Qt_5_from_Git

    2. http://qt-project.org/wiki/Building_Qt_5_Documentation

  • 相关阅读:
    PHP 学习1- 函数之error_reporting(E_ALL ^ E_NOTICE)详细说明
    ja_charity模板研究
    迭代创建级联目录
    迭代和递归的区别
    递归删除目录
    PHP递归仿DOS的tree命令
    深入理解递归
    wamp默认函数嵌套98层,否则报Fatal error: Maximum function nesting level of '100' reached, aborting!
    静态static方法中调运非静态方法
    微信支付05
  • 原文地址:https://www.cnblogs.com/wader/p/qt5_vc2012.html
Copyright © 2020-2023  润新知