C++编程|Win10下编译qt5.15源码(静态库)

前期准备:
由于我的win10系统已经安装了vs2019和qt5.14,因此在此基础上我再安装python3.8就可以了。

目录结构介绍:
Qt5.14安装在系统的以下目录:
C++编程|Win10下编译qt5.15源码(静态库)
文章图片


编译Qt5.15的目录结构如下图所示:
C++编程|Win10下编译qt5.15源码(静态库)
文章图片

创建QT-5.15文件夹,在该文件夹中分别创建mingw32,msvc_32,msvc_64文件夹,分别用来存放mingw32位,msvc32位,msvc64位编译出来的库,src文件夹中用来存放源码
使用msvc2017 32位编译qt5.15源码 修改源码qt-everywhere-src-5.15.0\qtbase\mkspecs\common\msvc-desktop.conf配置

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)。
C++编程|Win10下编译qt5.15源码(静态库)
文章图片


打开msvc编译使用的终端
C++编程|Win10下编译qt5.15源码(静态库)
文章图片

切换到qt源码目录
执行以下命令
configure -confirm-license -opensource -platform win32-msvc -debug-and-release -static -static-runtime -force-debug-info -opengl dynamic -prefix "E:/tool/QT-5.15/msvc_32" -qt-sqlite -qt-pcre -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -qt-freetype -nomake tests -no-compile-examples -nomake examples

执行完毕如下图所示:
C++编程|Win10下编译qt5.15源码(静态库)
文章图片

执行完成后输入nmake(此过程执行时间较长)
执行完成后输入nmake install


将msvc32位编译好的库添加到qtCreator 打开qtcreator-》工具-》选项-》kit
C++编程|Win10下编译qt5.15源码(静态库)
文章图片

然后
C++编程|Win10下编译qt5.15源码(静态库)
文章图片

最后点击ok按钮就可以了。

使用mingw编译qt5.15源码 (磁盘预留空间需要将近75G左右,编译安装完成需要大概30.8G,如下图所示
C++编程|Win10下编译qt5.15源码(静态库)
文章图片


先配置环境
创建一个脚本文件名为build_env.bat
以下内容复制到该脚本文件中
set PATH=C:\Qt\Qt5.14.1\Tools\mingw730_32\bin; C:\Qt\Qt5.14.1\Tools\mingw730_32\opt\bin; E:\tool\QT-5.15\src\qt-everywhere-src-5.15.0\gnuwin32\bin; C:\WINDOWS\System32; C:\WINDOWS
set LANG=en
set QT_INSTALL_PREFIX= E:\tool\QT-5.15\mingw_32
cmd /k



双击该build_env.bat文件,显示如下
C++编程|Win10下编译qt5.15源码(静态库)
文章图片


接着在此打开的终端中切换文件夹到qt5.15源码文件夹中,在源码文件夹建一个build文件夹,切换到build文件夹中,然后执行
..\configure.bat -confirm-license -opensource -platform win32-g++ -debug-and-release -static -static-runtime -force-debug-info -opengl dynamic -prefix "E:/tool/QT-5.15/mingw_32" -qt-pcre -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -qt-freetype -nomake tests -no-compile-examples -nomake examples
C++编程|Win10下编译qt5.15源码(静态库)
文章图片


【C++编程|Win10下编译qt5.15源码(静态库)】执行完毕如下图所示:
C++编程|Win10下编译qt5.15源码(静态库)
文章图片

然后输入mingw32-make 执行。
C++编程|Win10下编译qt5.15源码(静态库)
文章图片

此过程执行时间较长

执行完成如下图所示:
C++编程|Win10下编译qt5.15源码(静态库)
文章图片


然后执行mingw32-make install
C++编程|Win10下编译qt5.15源码(静态库)
文章图片


执行完毕如下图所示
C++编程|Win10下编译qt5.15源码(静态库)
文章图片


在执行mingw32-make过程中可能遇到以下错误:
报错解决:
C++编程|Win10下编译qt5.15源码(静态库)
文章图片

添加环境变量
C:\Windows\System32\WindowsPowerShell\v1.0; C:\Windows\System32\wbem

build_env.bat文件内容
set PATH=C:\Qt\Qt5.14.1\Tools\mingw730_32\bin; C:\Qt\Qt5.14.1\Tools\mingw730_32\opt\bin; E:\tool\QT-5.15\src\qt-everywhere-src-5.15.0\gnuwin32\bin; C:\WINDOWS\System32; C:\Windows\System32\WindowsPowerShell\v1.0; C:\Windows\System32\wbem; C:\WINDOWS
set LANG=en
set QT_INSTALL_PREFIX= E:\tool\QT-5.15\mingw_32
cmd /k

将mingw32位编译好的库添加到qtCreator 打开qtcreator-》工具-》选项-》kit
C++编程|Win10下编译qt5.15源码(静态库)
文章图片

C++编程|Win10下编译qt5.15源码(静态库)
文章图片

然后
C++编程|Win10下编译qt5.15源码(静态库)
文章图片


    推荐阅读