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写好了一个软件,要把你的程序分享出去的时候,不可能把编译的目录拷贝给别人去运行.编译好的程序应该是一个主程序,加一些资源文件,再加一些动态链接库,高大上一些的还可以做一个安装 ...
随机推荐
- android 九宫加密记事本
自己写的超级安全记事本,用PBEWithMD5AndDES加密sqlite内容几乎无法破解, 九宫点密码登录, 支持备份到SDcard,email,network drivers etc. 附件Apk ...
- 在spring,mybatis整合配置中走的弯路(1)
在接触一个新东西,总免不了走一些弯路,也正是在这些弯路中,我们不断的成长. 从git上把之前写的代码扒下来,看看我在当初使用spring与mybatis中所走的弯路,路过的君子也可引以为戒. < ...
- Spring3系列9- Spring AOP——Advice
Spring3系列9- Spring AOP——Advice Spring AOP即Aspect-oriented programming,面向切面编程,是作为面向对象编程的一种补充,专门用于处理系统 ...
- Request is not available in this context
部署到新服务器的IIS的时候发现这个错误: Request is not available in this context 解决方案: <system.web> <customEr ...
- ORA-00119: invalid specification for system parameter LOCAL_LISTENER - 转
错误分析 listener 可以正常启动: [oracle@o_target admin]$ cat listener.ora# listener.ora Network Configuration ...
- ubuntu下搭建lamp
一.使用apt-get方式为Ubuntu安装PHP+MYSQL+Apache 分别执行如下命令: (1)安装MYSQL sudo apt-get install mysql-server ...
- Maxdos 9.3不能引导系统进入Maxdos
一.故障描述 最近安装一台新电脑安装的系统版本是windows7_professional_with_sp1_x64,安装完成后想用Maxdos对系统进行备份.出现错误:Warning: the hi ...
- 读书笔记_Effective_C++_条款四十八:了解模板元编程
作为模板部分的结束节,本条款谈到了模板元编程,元编程本质上就是将运行期的代价转移到编译期,它利用template编译生成C++源码,举下面阶乘例子: template <int N> st ...
- 如何将ToolBar 样式设置Title文字水平居中
以下是我的activity.xml的代码,线性布局.<android.support.v7.widget.Toolbar android:id="@+id/toolba ...
- Physical Based Shading in Unreal Engine 3
Roughness = 0.1roughness = 0.4roughness = 0.7roughness = 0.999 以上的Fresnel 0° = {1.0,0.86.0.57}(PS: 近 ...