使用MingW-w64 编译 64bit Qt5.9.3
公司使用Qt5.9.3开发的应用,由于加载的程序太多,经常出现内存不够用的情况,需要将32位升级到64位。
网上找了很久,没有找到5.9.3版本的64位程序包。
于是按照网上的文章,决定自己编译。
公司使用的qt-opensource-windows-x86-5.9.3.exe安装包选择全部安装是包含src代码的。
全部安装后,Qt5.9.3\Tools下Perl52213_32没有安装成功的话,需要再安装一下。
在https://sourceforge.net/projects/mingw-w64/, 下载在线安装器,选择目标平台x86_64。
安装Python解释器(https://www.python.org/ftp/python/2.7.14/python-2.7.14.amd64.msi)
全部安装完成后,在src目录下新建以下bat脚本,QtPrefixDir为执行make install命令时安装的目录、MingwDir为安装的mingw-w64的路径。
@echo off
rem ====================CONFIGURE BEFORE RUN SCRIPT!!======================
set QtSrcDir=%CD%
set QtPrefixDir=C:\Qt\5.9.3-x64
set MingwDir=C:\mingw64\
set BuildType=-debug-and-release
set QtSPEC=win32-g++
set LANG = en
rem =======================================================================
PATH = %MingwDir%\bin;%MingwDir%\opt\bin;%SystemRoot%\system32;%SystemRoot%
set QT_INSTALL_PREFIX = %QtStaticDir%
set OldDir=%CD%
cd %QtSrcDir%
cmd /C "configure.bat -shared %BuildType% -platform %QtSPEC% -prefix %QtPrefixDir% -opensource -confirm-license -c++std c++14 -nomake examples -no-opengl -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -no-openssl"
if ERRORLEVEL 1 goto :error
mingw32-make -r -k -s -j4
if ERRORLEVEL 1 goto :error
mingw32-make -k install
if ERRORLEVEL 1 goto :error
set FILE_TO_PATCH=%QtPrefixDir%\mkspecs\win32-g++\qmake.conf
echo.>>%FILE_TO_PATCH%
echo CONFIG += static>>%FILE_TO_PATCH%
echo ============BUILT!============
goto exitX
:error
echo ============ERROR!============
:exitX
pause
cd %OldDir%
最后,执行bat,默默的等待编译结果就OK了。