Qt源码编译

Qt源码编译

[email protected]

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.20.3.3\perl\bin;

SET QMAKESPEC=win32-msvc2013

cd %~dp0\qtbase

configure -opensource -debug-and-release -no-qml-debug -no-icu 

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

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

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

然后再输入命令:nmake

就耐心等待编译结果了。

原文地址:https://www.cnblogs.com/opencascade/p/Compile_Qt.html

时间: 2024-10-11 16:08:48

Qt源码编译的相关文章

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

简述 在调试程序的时候,有时需要调试进入 Qt 源码,这不仅有利于我们了解内部实现机制,而且对于解决一些隐蔽性问题很有帮助. 都知道 F11 是“单步进入”,可是在调试的过程中,按下 F11 却无法进入.有人说需要静态编译 Qt 才可以,其实不然,只需要简单的几个配置就可以搞定. 简述 Qt 版本及安装 配置 Qt Creator 源码调试 更多参考 版权所有:一去丶二三里,转载请注明出处:http://blog.csdn.net/liang19890820 Qt 版本及安装 Qt 针对 Win

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

一.linux下静态编译qt源码 1.取到qt源码并解压到文件夹 2.cd到qt目录下 3.使用configure生成makefile ./configure–prefix /opt/qtstatic –static –release -nomake examples  --nomake demos-nomake docs -continue 4.待执行完之后执行make 5.makeinstall 参考:http://www.cnblogs.com/qianyuming/archive/201

Qt 5的git源码编译

Qt 5的git源码编译 由于一些需求,需要接触Qt3D.虽然Qt 3D还没有问世,但是据称已经差不多完成了.Qt 3D的内部版本是2.0,将会并入Qt 5.5中.现在还是有一些途径来获取Qt 3D的.那就是使用git获取最新的源码进行编译.花了好几天的时间,终于成功了.下面分享一下心得. 蒋彩阳原创文章,首发地址:http://blog.csdn.net/gamesdev/article/details/43404647.欢迎同行前来探讨. 1.下载并且安装git forwindows.git

看懂Qt源代码-Qt源码的对象数据存储

第一次看Qt源代码的人都会被其代码所迷惑,经常会看到代码中的d_ptr成员.d_func(函数)和Q_DECLARE_PRIVATE等奇怪的宏,总是让人一头雾水,下面这篇文章转自http://www.qkevin.com/archives/31,它很好的向我们介绍了Qt源代码的编写习惯,为我们看Qt源码打下基础: 对象数据存储 前言,为什么先说这个? 我们知道,在C++中,几乎每一个类(class)中都需要有一些类的成员变量(class member variable),在通常情况下的做法如下:

Centos 7 源码编译安装内核4.14.12

为什么要编译内核 需要新功能的支持: 在生产环境中,突然会需要使用一些新的功能,但是原有的内核并不支持此功能,这是就需要重新编译出一个新的内核来提供对此新功能的支持,比如虚拟化.iptables功能必须要在2.4.X以上版本的内核中才支持. 原核心太过于臃肿: 原来安装的内核中,有很多不常用甚至基本上用不到的功能支持,而这些功能又会使内核文件变得很大,这时要将此变成一个简化切功能够用的内核就需要进行重新编译. 与硬件搭配的稳定性: 很多情况下,系统内核中默认一般默认支持的CPU类型为Inter,

QT源码分析:QTcpServer

最近在看有关IO复用方面的内容,自己也用标准c++库实现了select模型.iocp模型.poll模型.回过头来很想了解QT的socket是基于什么模型来实现的,所以看了QT关于TcpServer实现的相关源码,现在将所了解的内容记录下来,希望对感兴趣的朋友有所帮助. 1.我们先从QTcpServer的构造函数来看,下面是QTcpServer的构造函数原型: QTcpServer::QTcpServer(QObject *parent) : QObject(*new QTcpServerPriv

Qt源码学习之信号槽

Qt源码版本 Qt 5.12.0 moc文件 Qt在编译之前会分析源文件,当发现包含了Q_OBJECT宏,则会生成另外一个标准的C++源文件(包含Q_OBJECT宏实现的代码,文件名为moc_+原文件名),该文件同样进入编译系统,最终被链接到二进制代码中去.此时,Qt将自己增加的扩展转换成了标准的C++文件,moc全称是Meta-Object Compiler,也就是“原对象编译器”. Q_OBJECT的宏定义 位置:qobjectdefs.h 1 /* qmake ignore Q_OBJEC

源码编译MYSQL遇到的几个小问题

闲来无聊,顺手练习一下好久没碰过的MYSQL,于是决定源码编译安装MYSQL-5.7.11,练习不打紧,出了好多问题,于是乎赶紧在这里总结一下: 先下载的编译器:cmake-2.8.12.2-4.el6.x86_64.rpm   MYSQL源码包:mysql-boost-5.7.11.tar.gz 接下来进行配置,编译,安装三部曲:(区别是我把数据目录单独放在了另外一张虚拟硬盘上-DMYSQL_DATADIR=/mydata/data   -DMYSQL_UNIX_DATA=/mydata/da

马哥linux学习笔记:源码编译安装

由于rpm包在作者制作封装的时候已经把程序的一些特性固定了,如果我们根据自己的需求,需要运用程序的一些没有普适性相关特性,就需要下载程序的源码手动编译安装了,这里只是简单的介绍一下C代码的程序包编译安装方法. 为了能更直观的看到源码编译安装的过程,我演示一下在centos7.2环境中编译安装httpd2.2: 首先,编译的前提是得有称手的工具及环境了,编译c源代码就需要用到开发工具,make,gcc了,环境就需要开发库跟头文件了,如果系统中没有这些,就需要yum安装了. 这里我运行yum gro