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. Redis允许远程连接

    默认安装启动redis后,只能本地连接,无法远程连接上,原因是redis安全策略默认本机访问,所以远程访问的话需要将 配置文件redis.cof 中的 bind 127.0.0.1 前面的#注释掉, ...

  2. 隐藏tomcat nginx版本信息

    Tomcat --首先备份tomcat .首先找到这个jar包,$TOMCAT_HOME/lib/catalina.jar .解压catalina.jar之后按照路径\org\apache\catal ...

  3. HDU4825:Xor Sum 解题报告(0/1 Trie树)

    Problem Description Zeus 和 Prometheus 做了一个游戏,Prometheus 给 Zeus 一个集合,集合中包含了N个正整数. 随后 Prometheus 将向 Ze ...

  4. Spring深入浅出(一)IOC的基本知识

    Spring前言 Spring是一个企业级开发框架,为解决企业级项目开发过于复杂而创建的,框架的主要优势之一就是分层架构,允许开发者自主选择组件. Spring的两大核心机制是IOC(控制反转)和AO ...

  5. python3.x学习笔记2(基础知识)

    1.元组元组其实跟列表差不多,也是存一组数,只是它一旦创建,便不能在修改,所以又叫只读列表语法:names =('shgd','sjdh') 它只有两个方法,一个是count,一个是index 2.字 ...

  6. springMVC学习笔记_转载(一)-----springMVC原理

    阅读目录 一.什么是springmvc 二.mvc在b/s系统下的应用 三.SpringMVC框架介绍 回到顶部 一.什么是springmvc springMVC是spring框架的一个模块,spri ...

  7. logsource and ALO

    1.首先配置sourcedb上的nfs服务,oggstd上挂载sourcedb的online redo和archive log的目录     oggsource上配置:  vi /etc/export ...

  8. bzoj 2456: mode 思维题 好题

    题目描述: 给你一个 $n$ 个数的数列,其中某个数出现了超过 n div 2 次即众数,请你找出那个数.空间大小:1mb 题解:显然,我们是不能开任何数组的,此题专卡空间.然而我们要求的东西也十分简 ...

  9. yii2.0缓存篇之文件缓存

    文件缓存: 在 frontend/config/main.php/components数组下添加: 'cache'=>[      'class'=>'yii\caching\FileCa ...

  10. xargs---组合命令的工具

    xargs命令是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具.它擅长将标准输入数据转换成命令行参数,xargs能够处理管道或者stdin并将其转换成特定命令的命令参数.xargs也可以将 ...