C++ Qt 框架静态编译 操作记录

谁愿意写个程式出来之后还附带一堆DLL,尤其是名字如此明显的名字。

于是在网上看了看,是需要下载源代码然后进行编译的,但是看了看别人说的编译时间,长达几个小时,瞬间就感觉不想做了。因为我还需要抓紧时间code。

于是利用某某搜索引擎找了个 Qt 5.1 已经静态编译完毕之后的包。在文章的最后会提供下载地址,我们为了节约可贵的时间,我们之间使用别人已经编译好的包来进行静态编译。

首先我们下载Qt 5.1(下载地址在文章的最后)

然后我是直接放在 C盘下的

打开Qt Creator -> Tools -> Options..

然后我们加入 刚刚下载的Qt 版本

点击Add  (无视我这里面已经有的)

于是我们选择 Qt/5.1.0-rel-static/bin/qmake.exe

可以看见已经添加了

(至于名字什么的随便乱取就是了 %{Qt:Version} 是一个变量)

然后我们点击 Kits 选项夹

新建一个Kit,注意自己看截图,至于编译器的话你在安装Qt的时候 应该会有一个选项可以让你下载的,没有的话就只能你自己去下载了

然后我们新建一个项目:

有一个选项即可。选择你刚刚建立的Kit

然后你的程序如果写好了的话,就可以单击“编译”来进行静态编译了;

注意模式要选择 Release 模式

至此,我相信你已经可以生成一个体积应该蛮大的EXE程序,带着你的Qt程序到处运行吧。

经过我的测试,Windows 7 32位/64位  WIndows 10 64位/32位 Windows Xp 32位  Windows 2003 32位 都可以正常运行。

生成的文件体积会有点大,内存占用略高,但是的确是制作 C++ 界面的一个好框架。不过值得一提的是,我用Qt 制作过一个 控制台程序,程序配置删除了 界面库:

pro 项目配置文件:

 1 QT += core    #加入核心库
 2 QT -= gui   #删除界面库
 3 QT += network  #加入网络库
 4 CONFIG += c++11 #C++11 标准
 5
 6 TARGET = Suwings
 7 CONFIG += console #添加控制台
 8 CONFIG -= app_bundle
 9
10 TEMPLATE = app
11
12 RC_FILE = suwings.rc

项目文件有26个文件,代码总计约3000行,生成出来的文件貌似是:

4MB左右,尤其是程序在运行的时候,内存占用在 0.9MB~1.5MB 之间;

所以我觉得如果要是将界面库给去掉,说不定是比不错的收益。

不过如果你连界面都不要了,那你用Qt是干什么的呢?不过确实Qt已经给我们提供了一套几乎完整的框架,让我找到一种在写Java的感觉。

Qt 已编译包下载地址:http://pan.baidu.com/s/1eSnys1s

下面推荐几个链接:

Qt 下载:https://www.qt.io/download/

Qt 自学之路:https://www.devbean.net/category/qt-study-road-2/page/10/

Qt 官方文档:http://doc.qt.io/qt-5/qtgui-module.html

Qt 中文文档(有点老):http://www.kuqin.com/qtdocument/index.html

感谢你的耐心阅读,希望对你有帮助。

时间: 2024-10-05 04:44:57

C++ Qt 框架静态编译 操作记录的相关文章

记录下 QT Linux 静态编译遇到的坑

Qt下静态编译Qt,根据我的经验,如果按照Windows下那种直接拿官方sdk安装之后的文件来编译是行不通的,需要直接下载Qt的source包,目前诺基亚的源码叫做qt-everywhere-opensource-src的tar包,到网上一查,乖乖,大部分人编译这个包居然花费了12-13个小时!但是,根据我在Windows下静态编译Qt的经验,其实这之中很多东西都是可以不用编译的,最终我大约用了40分钟编译完成了全部内容.如果你直接使用官方的sdk安装,那么你就已经有了一个动态库,现在你又通过源

Linux下快速静态编译Qt以及Qt动态/静态版本共存

Qt下静态编译Qt,根据我的经验,如果按照Windows下那种直接拿官方sdk安装之后的文件来编译是行不通的,需要直接下载Qt的source包,目前诺基亚的源码叫做qt-everywhere-opensource-src的tar包,到网上一查,乖乖,大部分人编译这个包居然花费了12-13个小时!但是,根据我在Windows下静态编译Qt的经验,其实这之中很多东西都是可以不用编译的,最终我大约用了40分钟编译完成了全部内容.如果你直接使用官方的sdk安装,那么你就已经有了一个动态库,现在你又通过源

QT静态编译

Qt静态编译(链接)和动态编译区别 Qt的静态编译译(其实应该叫链接,不是编译),将各模块编译成静态库,这样在编译自己写的Qt程序时,会将这些静态库编译(链接)到你的EXE文件中去的.Qt的动态编译,将各模块编译成动态库(windows是DLL),这样在编译自己写的Qt程序时,会将这些动态库链接到你的EXE文件中去的,执行时需要Qt模块的动态库.如果是静态编译, 在头文件里包含如“QWidget”而不是<QWidget>这样编译之后就不需要上面的动态库了.如果是动态编译,产生的exe必须要依赖

静态编译OpenSSL并整合到Qt

静态编译OpenSSL并整合到Qt 来源 https://blog.csdn.net/lixiaoxin1989/article/details/78421573 MSVC版本: 1. 下载OpenSSL源码 1.1 下载OpenSSL的源码:https://www.openssl.org/source/ 1.2 解压到C:\openssl-1.0.2l 2. 编译OpenSSL源码 2.1 打开VS的命令工具: 32位: 64位: 2.2 使用cd命令定位到源码文件夹: cd C:\opens

qt5.8.0之静态编译

仔细一算,接触Qt也有六七年了,但总感觉自己仍是菜鸟一枚.小硕毕业进入公司后,进行某一设备的算法研究(matlab+vb,当时对qt是完全的小白),并应用于由外包人员开发的Qt项目.随着项目深入,后面逐步过度到qt的开发道路上来的.在开发完qt程序,发布应用程序的过程中,由于动态库的确实等问题老出现在其他电脑上不能正常运行的情况出现.在这个过程中,偶尔听人说出现这样的情况,多是由于程序是动态编译的愿意,假如能够改成静态编译,这样的问题就能够迎刃而解.从那以后,对qt的静态编译一直从满神往. 由于

Ubuntu下Qt-4.7.1的静态编译

最近在学习Qt的静态编译,相比较来说windows的Qt静态编译比较容易,相反对于linux编译网上的文章实践下来都有这样那样的错误,这里简要小结一下自己的编译成果. 一.实验环境 1.Ubuntu 10.04 2.qt-x11-opensource-4.7.1.tar.gz 二.前期准备 在安装好Ubuntu 10.04后默认是没有安装程序编译软件包的,所以我们首先是要配置ubuntu. 配置方法:(推荐全程root用户模式) 1.首先调整网络设置使得机器可以上网(具体做法因人而异,这边就忽略

QT全平台设置图标,全平台静态编译 good

1.  概述 当我们用QT写好了一个软件,要把你的程序分享出去的时候,不可能把编译的目录拷贝给别人去运行.编译好的程序应该是一个主程序,加一些资源文件,再加一些动态链接库,高大上一些的还可以做一个安装文件. QT开发的程序发布的时候经常采用两种方式: l  静态编译,可生成单一的可执行文件. l  动态编译,需同时附上需要的dll文件. 2.  发布准备 不管采用哪种方式,首先我们要把项目的发布做一些准备,例如:准备程序的图标,将项目编译成release等.   2.1. 设置程序图标 应用程序

QT中如何使用MYSQL 以及静态编译QT中如何加上MYSQL(2)

接上一篇的续写: 前文提到"最终写一个demo的my sql工程  发现可以成功运行,但是找不到 创建的数据库文件 原因再查找" 注意 上面这个问题对应的代码是如下的: #include <QDebug> #include <QSqlDatabase> #include <QSqlQuery> #include "mainwindow.h" #include "ui_mainwindow.h" MainWind

Qt 框架 开发HTTP 服务器 开发记录

最近需求需要开发一款 HTTP ,然后由于先前接触过Qt,就直接用Qt写HTTP服务器了,也是为了当作练手,要不然是直接上HTTP框架的. 后端用C++ Qt框架 前端为了练手 当然是纯生的 js html css 具体的HTTP 实现过程我就不累赘描述了,这个Http协议解析基本上大部分人都知道原理. 主要是记录一下开发中遇到的各种问题. 首先最开始开发的时候,一路顺风,我的设计模式是 层次 设计模式,一层层独立互不相干互不干涉.严格的只管理好自己的所在层. 数据包是一层层往上传输,到达 Lo