Qt源码编译

eryar@163.com

Key words. Qt, 源码编译

1.Introduction

随着Qt版本升级,源码编译出来的库体积越来越大。如果只是用Qt来做GUI,Qt提供的预编译库中有很多很功能不会用到,所以如果自己从源码编译Qt,一是可以只使用自己程序用到的功能,使自己发布程序的体积尽量小;还有如果对GUI开发感兴趣,就可以自己对源码进行Debug。本文记录一下从源码编译Qt的方法。

2.Download Qt Source Code

因为只用到Qt基本的功能,所以只需要下载qtbase和qttools两个源码,而不用下载整个Qt源码。这两个源码包总大小不超过100M。

http://download.qt.io/archive/qt/5.8/5.8.0/submodules/

还需要下载Perl,可以从 http://strawberryperl.com/releases.html 下载Perl。

将Perl解压放到如下目录:

D:\Qt\perl-5.20.3.3

3.Compile

将源码解压到一个文件夹中,并更改文件名为qtbase和qttools,如下图所示:

并在根目录中创建一个build.bat批处理文件,批处理文件中内容如下所示:

@echo off

set path=%path%;D:\Qt\perl-5.28\perl\bin;

SET QMAKESPEC=win32-msvc2013

configure -opensource -confirm-license -debug-and-release -no-qml-debug -no-icu -nomake examples -nomake tests

主要是将Perl加入到PATH环境变量中,使configure批处理中能执行Perl程序。为了使编译出来的Qt尽量简单,可以使用configure配置,不编译一些模块。

从Visual Studio的工具中启动命令窗口,从这里启动命令窗口可以配置好Visual Studio的环境,如下图所示:

在启动的命令窗口中,切换到build.bat所在目录,运行built.bat,得到如下结果:

然后再输入命令:nmake

就耐心等待编译结果了。

Qt源码编译的更多相关文章

  1. 麒麟系统开发笔记(三):从Qt源码编译安装之编译安装Qt5.12

    前言   上一篇,是使用Qt提供的安装包安装的,有些场景需要使用到从源码编译的Qt,所以本篇如何在银河麒麟系统V4上编译Qt5.12源码.   银河麒麟V4版本   系统版本:   Qt源码下载    ...

  2. qt-5.6.0 移植之qt源码编译

    其实这只是给自己看的一个configure选项笔记,没有太多的东西. 首先: 下载qt5.6的源码: 地址: http://download.qt.io/archive/qt/5.6/ 下载完解压: ...

  3. PC端QT源码编译

    转载:http://blog.sina.com.cn/s/blog_c2b97b1d01016x1i.html 1.下载源码(前面已经提到了) 选择合适自己的源码. 先用"uname -a& ...

  4. 查看和调试Qt源码(动态编译的QT也可进入源码)good

    简述 在调试程序的时候,有时需要调试进入 Qt 源码,这不仅有利于我们了解内部实现机制,而且对于解决一些隐蔽性问题很有帮助. 都知道 F11 是“单步进入”,可是在调试的过程中,按下 F11 却无法进 ...

  5. Windows,linux下编译qt源码(比较简单)

    一.linux下静态编译qt源码 1.取到qt源码并解压到文件夹 2.cd到qt目录下 3.使用configure生成makefile ./configure–prefix /opt/qtstatic ...

  6. vs下 qt源码调试

    1.下载qt源码,我下载的是4.7.1版本 2.vs安装qt插件qt-add-in 3.进入qt根目录,打开configure文件,找到 QT_DEFAULT_BUILD_PARTS="li ...

  7. VeloView源码编译错误记录——VS manifest

    编译环境 Win7 Visual Studio 2008 Win32 VeloView依赖关系 1)底层 Python Qt pcap boost eigen 2)中层 liblas: boost P ...

  8. Qt源码学习之信号槽

    Qt源码版本 Qt 5.12.0 moc文件 Qt在编译之前会分析源文件,当发现包含了Q_OBJECT宏,则会生成另外一个标准的C++源文件(包含Q_OBJECT宏实现的代码,文件名为moc_+原文件 ...

  9. QGis+QT5.9+VS2017源码编译

    1.需要软件 VS2017 QT5.9.2 CMake 3.10.2 Cygwin osgeo4w QGIS源码 2.安装VS2017  过程省略 是由于机器上已经安装了VS2017 3.安装QT5. ...

随机推荐

  1. 陈-朱-兴- js写法【案例】:

    ajax请求: 一.从服务器端请求数据: var url = '';url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='+ ...

  2. git的学习笔记整理

    Git学习较好的网址:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001373 ...

  3. luogu 1280 尼克的任务

    题目描述 尼克每天上班之前都连接上英特网,接收他的上司发来的邮件,这些邮件包含了尼克主管的部门当天要完成的全部任务,每个任务由一个开始时刻与一个持续时间构成. 尼克的一个工作日为N分钟,从第一分钟开始 ...

  4. POJ 3173 模拟

    按照题意模拟就好-- //By SiriusRen #include <cstdio> #include <algorithm> using namespace std; in ...

  5. Zero-input latency scheduler: Scheduler Overhaul

    Scheduler Overhaul, with contributions from rbyers, sadrul, rjkroege, sievers, epenner, skyostil, br ...

  6. Chromium Graphics: Multithreaded Rasterization

    Multithreaded Rasterization @nduca, @enne, @vangelis (and many others) Implementation status: crbug. ...

  7. inceptionnet

    inception发展历程 v1 mlp多层感知器层 上面两个观看孔径,尺寸不一样,可以抽取不同分辨率,不同尺度的邻域范围的信息作为特征,这样就可以观察到输入数据的不同层次,不同分辨率的特征 因为这个 ...

  8. vue下载模板、导出excle

    1.下载模板是 下载模版比较简单,就是跳一个新的页面 2.导出excle 就是get请求,把自己要导出的参数一一拼接起来 }

  9. 监控memcached服务

    #!/bin/bash #监控memcached服务 printf "del key\r\n" | nc 127.0.0.1 11211 &>/dev/null #使 ...

  10. subline 快捷键与功能解释

    选择类 Ctrl+D 选中光标所占的文本,继续操作则会选中下一个相同的文本. Alt+F3 选中文本按下快捷键,即可一次性选择全部的相同文本进行同时编辑.举个栗子:快速选中并更改所有相同的变量名.函数 ...