当前位置:首页 » 编程软件 » qt编译代码大

qt编译代码大

发布时间: 2022-07-11 02:01:18

❶ 如何使用Qt Creator编译C++11代码

1、C++11是C++的2011标准。需要用C++编辑器来编译,而且一般要比较新的编译器才可以。比如 vs2012/2015。
2、Qt Creator是IDE,又不是编译器,怎么能编译C++代码。
Qt5.0 MinGW版本更新了自带了MinGW编译器,支持C++ 11标准。
Qt5.0 VS版本,需要调用微软的编译器。这要问问微软的支不支持了。

❷ 同样的代码,用QT在linux 编译是8M, 但在XP只有50K. 大了好几倍,不知有何区别

这种情况一般是与你采用的链接方式有关,你应该是在Windows系统下采用的动态链接库,而在Linux系统下面采用的是静态链接库

❸ Linux下Qt的make编译出现大量错误

你上面的问题是的链接库的和路径没设置好
export
QTDIR=/home/lin/hisi/qt-embedded-4.5.2
export
PATH=$QTDIR/bin:$PATH
export
TSLIB_CONSOLEDEVICE=none
export
LD_LIBRARY_PATH=$T_ROOT/lib:$QTDIR/lib
类似上面,把相应的路径修改下,在终端中运行,然后编译就可以通过了
不过建议:
linux下,可以安装个QT
Creator开发工具
,这样子可以方便很多

❹ C++/Qt写的程序很大,怎么减肥

删除一些区段,到时要有相关经验,网上有相关自动优化的。另外加个压缩壳也是不错的选择!

❺ 为什么 Qt Creator 的编译如此之慢

取自知乎上的一篇文章

作者:姚冬

我是来反对楼上某些答案的。
我曾经用MFC写了金山词霸(大约20多万行),又用Qt写了YY语音(大约100多万行),算是对两种框架都比较有经验。
纠正几个错误的认识。

1. “用Qt写的程序编译比MFC慢”的说法是错误的
绝对错误,单位代码行数编译Qt远比MFC快得多,因为Qt库的头文件设计非常好,尽量都使用了前置声明,避免了头文件嵌套,几乎所有类都使用了公有类和私有类的设计,把没必要公开的声明放到私有头文件里,避免了编译时引入过多代码。而MFC没有这样的设计。
至于大家感觉MFC快主要原因是MFC工程默认打开了编译预处理头文件(PCH),但是这是VC编译器的特性,所有C++程序都可以用,不是MFC特有,Qt也可以使用 PCH
方法很简单,在你的 .pro 文件中加入一行

PRECOMPILED_HEADER = stable.h
指定 Stable.h这个头文件作为编译预处理文件,MFC里这个文件一般叫stdafx.h
然后在 stable.h里 包含你所用到的所有 Qt 头文件,如果你用了很多qt的类可以直接包含所有
比如 :

#include <QtCore>
#include <QtGui>
这两个文件里又包含了几乎所有Qt常用类
不用担心,即使包含了所有头文件也没关系,有了PCH再多头文件也没影响。

如果你还想编译再快点,可以在 .pro里加入下面一行

QMAKE_CXXFLAGS += /MP
指定/mp编译选项,编译器将使用并行编译,同时起多个编译进程并行编译不同的cpp

而且QT这种引入PCH的方法比MFC的好,由于MFC的PCH选项是每个工程逐个指定的,很容易被某些人搞坏,我曾经无数次修复PCH问题,但是Qt的选项是写在.pro里的,写一次就永远不会错。
MFC一旦弄坏了PCH,编译也慢得令人发指。

给个参考时间吧,YY最新版本大约 100多万行C++代码,rebuild debug和releae总共需要20多分钟,机器是i5 四核SSD硬盘。其实对于大项目硬盘才是瓶颈,如果换机械硬盘要慢差不多70%,有个同事用10G内存做了个内存盘编译,还能快30%。

如果你比这个慢,请检查自己的代码问题。

2. “QT本身编译慢”的说法是错的
Qt本身其实编译并不慢,慢的是webkit库和例子程序,你如果不改任何选项默认是会编译所有的,webkit本身就是个恐龙级项目,用了太多泛型技术,编译非常慢。另外Qt里附带了数百个例子工程,都编译一边也很慢。如果仅编译QT核心库是很快的,比如QtCore只需要1分钟,QtGui大约5分钟。

送个福利(仅限windows vc++ 2008):

configure.exe -qt-libjpeg -qt-zlib -qt-libpng -qt-libjpeg -qt-gif -no-libtiff -no-libmng -nomake examples -nomake demos -no-webkit -nomake doc -no-plugin-manifests -no-exceptions -no-rtti -no-qt3support -no-openssl -no-opengl -no-multimedia -no-3dnow -no-native-gestures -no-style-motif -no-style-cde -no-style-cleanlooks -no-style-plastique -no-sql-sqlite -no-dbus -platform win32-msvc2008

这是我自己用的Qt编译前的配置命令行,把我自己用不到的都去掉了,这样配置编译就快很多了。
我把 webkit examples demos 等大家伙都去掉了。如果你真的需要这些,可以安装Qt sdk里面有编译好的版本。

补充:Qt creator只是IDE,不是编译器,编译慢真的不关他的事,要看你具体用的编译器是什么。一般来说在Windows下就是minGW,也就是一个移植版本的GCC,的确是不如VC++里的CL快的。
如果是其它平台,那么编译器可以换成LLVM的clang,那就快很多了。
在Windows下来是用VC++吧,推荐VC2008,Qt和VC的IDE结合非常好,我现在的项目都是用VC2008+QT的,开发效率很高,记得装Visual Assist哦。

qmake -tp vc

可以用 .pro生产 .vcproj的VC工程文件,可以用VC++打开编译。

❻ qt做的程序好大,能编译小一点吗

安装插件后需要重新编译,给你发个安装QT插件并配置的链接说明:/page/84842/

❼ qt linux 生成的可执行程序程序20.7M,功能是正常的,但是不知道为什么这么大,请指教

你可能是静态编译,把QT功能包含的库和相关实现,都静态编译到可执行程序。
因为QT是图形界面,所以比较大。
可查看参考,希望对你有帮助。

❽ qt5生成的exe太大怎么解决

你的工程可能使用了影子构建方式,也就是你勾选了shadow build这个选项,你可以通过点击左侧的projects来确认是否在shadow build这个选项上打勾。
当勾选shadow build之后,会在与工程所在目录同级的目录下创建一个新的目录,该目录用来存放工程编译过程所产生的所有文件。
你可以在你的GUI目录下查看是不是还存在一个以jishiben2开头的目录,如果有那么这里面就有你需要的exe文件,当然在shadow build选项下面的build Directory也明确标识出了该路径。

❾ QT如何进行线程编译

在Qt中使用多线程,目前就我使用过的有两种,一是子类化QThread,重写run函数,在run函数里实现自己的代码,这一部分代码通常是比较耗时,或者干脆直接阻塞的。比如一个while循环,设置一个标志,判断循环结束。
这样的例子在网上有很多,就不写了。
这样写的话,会有一些东西需要了解。
子类化QThread的方法,只有run函数里面的内容是执行在子线程里的,其他的部分,比如槽函数什么的还是在主线程里执行(假设是在主线程开启的该子线程)。
还有一种方法,是子类化QObject,新建一个线程,然后使用MoveToThread把这个类的对象移到新建的线程中,这种做法使得它所有的槽函数都是执行在新开辟的线程里面。
如果直接(QObject对象).abc()的话,这个成员函数是在主进程内执行,可能会出现"QObject::killTimer: timers
cannot be stopped from another thread"的运行错误。
使用第二种方法的话,貌似会遇到这样的问题:如果在一个槽函数中把子线程阻塞,其他的槽函数无法接受来自主线程

热点内容
火影忍者竞技场脚本 发布:2025-02-08 23:10:18 浏览:934
英国访问学者签证费用 发布:2025-02-08 23:04:46 浏览:926
洛奇合成脚本 发布:2025-02-08 22:57:04 浏览:141
linux文件软链接 发布:2025-02-08 22:35:48 浏览:773
iphone6s缓存怎么清理 发布:2025-02-08 22:33:17 浏览:928
数据库系统设计的步骤 发布:2025-02-08 22:11:19 浏览:44
processc语言 发布:2025-02-08 22:11:15 浏览:537
国产车配置为什么这么便宜 发布:2025-02-08 22:09:52 浏览:481
服务器为什么需要专线 发布:2025-02-08 22:07:27 浏览:872
java正则表达式正则替换 发布:2025-02-08 22:01:04 浏览:506