2024年4月10日发(作者:)

MinGw下静态编译Qt5.3.1

作者:

一、编译镜头库

1) .由于代码中用到了Perl,所以首先要安装Perl的解释器ActivePerl(安装时会自动设置环境

变量,无需手动添加), 下载地址/activeperl/downloads

(要求- Perl 5.8 or later)。

我装的是

安装Python运行环境,默认路径安装

Python下载地址(需要2.7以上版本)/download/releases/

我装的是

注:Perl和python必须安装,开始我没安装python,出现错误未找到python自动中断编译,

安装好python,设置到PATH,重新输入命令mingw32-make解决。

2) . 本人安装的Qt是qt-opensource-windows-x86-mingw482_,安装目录

C:QtQtQt5.3.1;安装时请把源码选上,如图

开始-> 所以程序,找到如图命Qt令行

输入以下命令看看gcc编译器是否配置正确,

gcc -v

再输入以下命令看看perl解释器是否配置正确

perl -v

输入以下命令看看python是否配置正确

python

按Ctrl + Z回车,可以退出python

如果没有配置正确,可以输入命令设置

如:set PATH=C:Python27;%PATH%

3).将命令行切换到Qt源代码所在目录,我这里执行的命令为。

cd C:QtQtQt5.3.15.3Src

4).执行如下命令开始配置

-confirm-license -opensource -platform win32-g++ -mp -debug-and-release -static

-prefix "c:QtQt5.3.1-static" -qt-sql-sqlite -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop

-qt-freetype -no-qml-debug -no-angle -nomake tests -nomake examples -skip qtwebkit

5).执行如下命令开始编译

mingw32-make

大概要3个钟左右编完,该干啥干啥去先……

完蛋了,有错误……

这个问题找了一天多,终于,万能的google查到错误原因及补救方法:

qml link error(also happens in some desktop build. But no if disable icu and enable

freetype):

solution: in

qtdeclarative/src/3rdparty/masm/yarr/YarrPattern.h

, change to

static CharacterClass* newlineCreate() { return 0;}

static CharacterClass* digitsCreate() {return 0;}

static CharacterClass* spacesCreate() { return 0;}

static CharacterClass* wordcharCreate() { return 0;}

static CharacterClass* nondigitsCreate() { return 0;}

static CharacterClass* nonspacesCreate() { return 0;}

static CharacterClass* nonwordcharCreate() { return 0;}

本人补救修改如图