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. spark 从RDD createDataFrame 的坑

    Scala: import org.apache.spark.ml.linalg.Vectors val data = Seq( (7, Vectors.dense(0.0, 0.0, 18.0, 1 ...

  2. 《剑指offer》字符串中的字符替换

    一.题目描述 请实现一个函数,将一个字符串中的空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 二.输入描 ...

  3. c# protected public private internal

    1 internal 只能在一个项目中引用,不能跨项目引用,只有在同一程序集的文件中 2 public 最高级别的访问权限 对访问公共成员没有限制 3 private 最低级别的访问权限 只能在声明它 ...

  4. http://www.open-open.com/lib/tag/ReactiveCocoa

    http://www.open-open.com/lib/tag/ReactiveCocoa

  5. MPI对道路车辆情况的Nagel-Schreckenberg 模型进行蒙特卡洛模拟

    平台Ubuntu 16.04,Linux下MPI环境的安装见链接:https://blog.csdn.net/lusongno1/article/details/61709460 据 Nagel-Sc ...

  6. 【http code】HTTP协议状态码详解(HTTP Status Code)

    参考资料: http://www.cnblogs.com/shanyou/archive/2012/05/06/2486134.html 1xx:请求收到,这些状态代码表示临时的响应. 2xx:操作成 ...

  7. Django初学习程序大致流程

  8. PKU 3281 Dining 网络流 (抄模板)

    题意: 农夫约翰为他的牛准备了F种食物和D种饮料.每头牛都有各自喜欢的食物和饮料,而每种食物或饮料只能分配给一头牛.最多能有多少头牛可以同时得到各自喜欢的食物和饮料? 思路: 用 s -> 食物 ...

  9. ECNUOJ 2619 询问

    询问 Time Limit:2000MS Memory Limit:65536KBTotal Submit:286 Accepted:70 Description  Pollux最近对字符串匹配很感兴 ...

  10. 最全面的AndroidStudio配置指南总结-包括护眼模式

    使用AndroidStudio开发APP已有半年多的时间了,从刚开始的不习惯到慢慢适应再到逐渐喜欢上AndroidStudio,中间的过程颇有一番曲折,现在把自己对AndroidStudio的配置心得 ...