QT5.15.2__wind10 64 源码编译

准备前的工作:

  1. 下载源码:https://download.qt.io/archive/qt/5.15/5.15.2/single/
  2. 下载编译配套工具
    打开源码  找到readme 文件查看相关的工具信息如下,并下载安装
    Windows:
       --------
         Open a command prompt.
         Ensure that the following tools can be found in the path:
         * Supported compiler (Visual Studio 2012 or later,
            MinGW-builds gcc 4.9 or later)
         * Perl version 5.12 or later   [http://www.activestate.com/activeperl/]
         * Python version 2.7 or later  [http://www.activestate.com/activepython/]
         * Ruby version 1.9.3 or later  [http://rubyinstaller.org/]

  3. 开始编译前的工作准备

    1. 选择编译器

      在Windows上,有两个预构建环境可供选择:一个是 MinGW ,另一个是Microsoft Visual Studio(MSVC)。这两个环境不兼容,无法混合。你必须选择一个。

      我选择MSVC,打开安装VS时自带安装的MSCV:x64 Native Tools Command Prompt for VS 2019

      在Windows上,有两个预构建环境可供选择:一个是 MinGW ,另一个是Microsoft Visual Studio(MSVC)。这两个环境不兼容,无法混合。你必须选择一个。

      这两者的区别如下:

      当你的项目使用MinGW编译的使用,想要用一个MSVC编译生成的库时就会有问题。使用MinGW编译项目的时候,所使用的Lib也要是MinGW编译的。如果你只是开发Window平台的软件时,最好用Qt MSVC组合,这样可以使用大量的第三方lib,还有很多的构建指令,毕竟window上MSVC才是王道。

      我选择MSVC,打开安装VS时自带安装的MSCV:x64 Native Tools Command Prompt for VS 2019

      默认编译的结果是64位的Qt

      如果你想编译32位版本的qt,可以选择x86 Native Tools Command Prompt for VS 2019

      警告:不要使用 Developer Command Prompt for VS 2019

      ​​
    2. 配置配置文件
      1. 1.修改源码里的qtbase\mkspecs\common\msvc-desktop.conf文件

        修改-MD为-MT

        修改前:

        QMAKE_CFLAGS_RELEASE    = $$QMAKE_CFLAGS_OPTIMIZE -MD
        QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -Zi -MD
        QMAKE_CFLAGS_DEBUG      = -Zi -MDd
        

        修改后:

        QMAKE_CFLAGS_RELEASE    = $$QMAKE_CFLAGS_OPTIMIZE -MT
        QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -Zi -MT
        QMAKE_CFLAGS_DEBUG      = -Zi -MTd
        

        D的意思是动态编译(dynamic link),T的意思是静态编译(static link)。 这一步官方教程没有要求,但其他人的很多教程里都有写,我就加上了

        2.配置config文件:

        配置命令如下:

        configure.bat -static -prefix "D:\qt" -confirm-license -opensource  -debug-and-release -platform win32-msvc  -nomake examples -nomake tests  -plugin-sql-sqlite -plugin-sql-odbc -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -mp
        

        具体含义如下:

        configure.bat 
        -static #指明是静态编译
        -prefix "D:\qt" #指明安装的目录
        -confirm-license -opensource  #指明是开源版本的qt
        -debug-and-release #指明需要debug版和release版,可以单独选择release版
        -platform win32-msvc  #指明使用msvc编译,这里的win32并不指32位
        -nomake examples -nomake tests  #不编译样例
        -plugin-sql-sqlite -plugin-sql-odbc -qt-zlib -qt-libpng -qt-libjpeg #可选插件
        -opengl desktop  #用系统自带的opengl
        -mp #多核编译
        
        C:\Users\peter\Downloads\qt-everywhere-src-5.15.0>configure.bat -static -prefix "D:\qt" -confirm-license -opensource  -debug-and-release -platform win32-msvc  -nomake examples -nomake tests  -plugin-sql-sqlite -plugin-sql-odbc -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -mp
        + cd qtbase
        + C:\Users\peter\Downloads\qt-everywhere-src-5.15.0\qtbase\configure.bat -top-level -static -prefix "D:\qt" -confirm-license -opensource  -debug-and-release -platform win32-msvc  -nomake examples -nomake tests  -plugin-sql-sqlite -plugin-sql-odbc -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -mp
        
        Notice: re-mapping requested qmake spec to unified 'win32-msvc'.
        
        Bootstrapping qmake ...
        ....
        Qt is now configured for building. Just run 'nmake'.
        Once everything is built, you must run 'nmake install'.
        Qt will be installed into 'D:\qt'.
        
        Prior to reconfiguration, make sure you remove any leftovers from
        the previous build.
        

        3.make

        上面提到过在Windows上,有两个预构建环境可供选择:一个是MinGW,另一个是Microsoft Visual Studio(MSVC)。

        我选择的是msvc环境,使用命令nmake即可进行编译。

        nmake
        

        新版的MSVC可以进行多线程编译,旧版本的MSVC自带的nmake没有多线程编译功能,有一个替代功能的软件jom可以进行nmake的多线程编译。

        jom的下载地址:Jom - Qt Wiki

        在刚才的终端中运行命令:

        D:/jom_1_1_3/jom.exe  
        

        我的CPU是i7-6700HQ,4核心8线程,CPU100%运行,花费了大约1个小时。

        make完成后源码和编译后的共有26G

        4.make install

        使用nmake单线程install:

        nmake install
        

        安装完成后,QT的文件夹有4G

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值