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 项目配置文件:
QT += core #加入核心库
QT -= gui #删除界面库
QT += network #加入网络库
CONFIG += c++11 #C++11 标准 TARGET = Suwings
CONFIG += console #添加控制台
CONFIG -= app_bundle TEMPLATE = app 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
感谢你的耐心阅读,希望对你有帮助。
C++ Qt 框架静态编译 操作记录的更多相关文章
- 记录下 QT Linux 静态编译遇到的坑
Qt下静态编译Qt,根据我的经验,如果按照Windows下那种直接拿官方sdk安装之后的文件来编译是行不通的,需要直接下载Qt的source包,目前诺基亚的源码叫做qt-everywhere-open ...
- 3.Qt GUI中一些操作记录
一.如何在Widget中利用代码添加背景图片 this->setAutoFillBackground(true); // QPalette palette = this->palette( ...
- QT静态编译
Qt静态编译(链接)和动态编译区别 Qt的静态编译译(其实应该叫链接,不是编译),将各模块编译成静态库,这样在编译自己写的Qt程序时,会将这些静态库编译(链接)到你的EXE文件中去的.Qt的动态编译, ...
- Linux下快速静态编译Qt以及Qt动态/静态版本共存
Qt下静态编译Qt,根据我的经验,如果按照Windows下那种直接拿官方sdk安装之后的文件来编译是行不通的,需要直接下载Qt的source包,目前诺基亚的源码叫做qt-everywhere-open ...
- Linux下快速静态编译Qt以及Qt动态/静态版本共存(提供了编译4.6,5.6的精通编译脚本,并且apt-get install 需要的库也全列出来了。还有分析问题的心理过程)good
qt4.6 Linux./configure -static -release -confirm-license -opensource -qt-zlib -qt-libpng -qt-libjpeg ...
- Ubuntu下Qt-4.7.1的静态编译
最近在学习Qt的静态编译,相比较来说windows的Qt静态编译比较容易,相反对于linux编译网上的文章实践下来都有这样那样的错误,这里简要小结一下自己的编译成果. 一.实验环境 1.Ubuntu ...
- Ubuntu14.04 静态编译安装Qt4.8.6
./configure -static -nomake demos -nomake examples -nomake tools -no-exceptions -prefix /usr/local/Q ...
- vs2010静态编译qt5.1.0
本博文参考 http://blog.chinaunix.net/uid-20690340-id-3802197.html 静态库在链接的时候直接写入二进制文件里,这样的好处在于发布的时候无需附带dll ...
- QT全平台设置图标,全平台静态编译 good
1. 概述 当我们用QT写好了一个软件,要把你的程序分享出去的时候,不可能把编译的目录拷贝给别人去运行.编译好的程序应该是一个主程序,加一些资源文件,再加一些动态链接库,高大上一些的还可以做一个安装 ...
随机推荐
- mysql 分表策略
mysql单表数据量巨大时,查询性能会很差,经常遇到的是存储日志相关的数据会每天产生大量的数据. 这里提供单表拆分成多表存储的三个思路: 一,固定N张表,ID取模存储 预先创建好N张表,记录按ID取模 ...
- Maven3路程(二)Eclipse集成Maven
我的环境: Eclipse:eclipse-jee-juno-SR2-win32 Maven:Maven3.0.5 1.Help->Eclipse Marketplace 2.选中要安装的插件, ...
- LoadRunner性能测试结果分析
LoadRunner性能测试结果分析http://www.docin.com/p-793607435.html
- System.Runtime.InteropServices.COMException: Exception from HRESULT: 0x800AC472
更新至服务器后运行出错: System.Runtime.InteropServices.COMException: Exception from HRESULT: 0x800AC472 解决方法 注册 ...
- 2015 Android Dev Summit(安卓开发峰会)第一天
今年的Google I/O没有抽到票,不能到现场参加.不过11月举行的Android Dev Summit的票是先到先得的方式,所以早早的提交了注册.今天终于有机会当面跟Android系统的设计开发者 ...
- truncate/drop表非常慢,怎么办?用硬链接,极速体验
这个这个,我必须花巨大篇幅,记录下今天清空表记录的英雄壮举,可知道一个drop操作,执行了一下午啊一下午,这是要急出翔的节奏..呵呵,下面开始 我的需求:某表因历史原因,积压了1亿条记录,约占360G ...
- U3D包大小优化之microlib
当迩想把最小类库发上来,迩需要把Stripping Level设置为Use micro mscorlib 这里是MICROLIB所能使用的包的类库列表:http://docs.unity3d.com/ ...
- 130 个你需要了解的 vim 命令
基础 :e filename Open filename for edition :w Save file :q Exit Vim :q! Quit without saving :x Write f ...
- Legolas工业自动化平台入门(一)搭建应用
前两篇给大家介绍了TWaver家族的新面孔--Legolas工业自动化平台,通过两个应用案例钻井平台工程用车和水源地监控系统,相信大家对Legolas已经有了一定程度的了解.这几篇文章,我们会逐步介绍 ...
- C#基础总结之五Dictionary<string, string[]>和while循环
#region 第五天作业 名片集(01) //Dictionary<string, string[]> PersonCard = new Dictionary<string, st ...