导航:首页 > 源码编译 > qtpro和pri哪个先编译

qtpro和pri哪个先编译

发布时间:2022-08-30 07:21:31

1. Qt 中的项目文件(.pro)里面的问题!

加入Qt的network模块
DEPENDPATH描述建立应用程序所依赖的其他文件所在的路径

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

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++打开编译。

3. 如何将qt中pro文件区别linux

Qt在pro或pri文件的语法中只能区分出windows、Unix和Mac三类操作系统,Linux应归属于Unix类操作系统之中,一般使用如下标识符

win32, unix, macx

在这三类操作系统下,尤其是Windows如果要区分出32位与64位的话就需要用到QT_ARCH这个变量了。该变量与你机器上安装的Qt版本有关。

举例如下

win32 {

contains(QT_ARCH, i386) {

message("32-bit")

LIBS += ...... (32位库)

}else {

message("64-bit")

LIBS += ...... (63位库)

}

}

4. qt一直构建Pro文件,这是为什么呢我的Pro文件和编译信息输出如图片所示,好几天了,那位大侠指

电脑时间问题,因为电脑设置的时间与标准时间不对应,所以一直在qmake,把时间设置正确即可。

5. 如何在Qt Creator 创建一个.pri文件

假设你的项目在名为demo的文件夹

你可以在你的demo里面新建一个文件夹名为pridemo,

在pridemo里面新建一个hello.pri的文件 空的即可

然后再你的工程里面的demo.pro里面写上

include (./prodemo/hello.pri) 中间注意空格

然后运行一下,.pri文件就会自动导入到你的工程下;

6. Qt下如何编译库

一般分为动态库和静态库,方法分别如下:
一.
静态库的生成
1.
测试目录:
lib
2.
源码文件名:
mywindow.h,
mywindow.cpp
3.
编写项目文件:
mywindow.pro
注意两点:
TEMPLATE
=
lib
CONFIG
+=
staticlib
4.
生成Makefile:
qmake
mywindow.pro
5.
编译生成静态库libmywindow.a
make
二.
静态库的使用
1.
测试目录:
test
2.
将mywindow.h与libmywindow.a拷贝至test目录下
3.
编写main.cpp,
包含头文件mywindow.h,
并调用MyWindow类
4.
编写项目文件:
test.pro
注意加上库路径与库文件名:
LIBS
+=
-L
./
-lmywindow
5.
生成Makefile:
qmake
test.pro
6.
编译:
make
7.
运行:
./test
三.
动态库的生成
动态库编译基本和静态库类似,需要将上述将要进行编译的项目文件.pro中下面这行去掉
CONFIG
+=
staticlib
按上述操作编译完后就可以得到以lib开头并且.so*
结尾动态库文件,一般有多个。

7. qt .pro配置 codesign.depends

编译QT的工程的时候,一般都会让qmake自动生成,但有时我们需要定制我们的工程,那么就必须改写pro文件。
要自己全部写pro文件又有点麻烦,所以,一般都是先运行qmake -project来生成基本的pro文件。
(1) 模板变量
TEMPLATE = app
(2)生成目录
指定生成的可执行程序的目录,可以绝对和相对路径DESTDIR += ../bin
(3)生成的应用程序名,即软件名TARGET = qtest
(4)编译选项
增添或者移除某个模块
(5)目标文件目录
obj文件存放的目录,可以绝对或相对路径OBJECTS_DIR += ../tmp
(6)工程中包含的头文件
(7)工程中包含的源文件
(8)工程中包含的资源文件
(9)附加头文件包含目录
(10)链接库

8. Qt编译的时候说没有找到.pro文件

在pro文件中添加libs
libs
+=
-l
folderpath
//引入的lib文件的路径
-l:引入路径
release:libs
+=
-l
folderpath
//
release
版引入的lib文件路径
debug:libs
+=
-l
folderpath
//
debug
版引入的lib
文件路径

9. 带涂层的pro格式怎么发

PRO格式文件有三种文件格式:PRO格式文件是Qt软件开发工具创建的项目文件,支持跨平台,不过在运行的之前,要使用QT命令将所有的信息进行编译。
PRO格式文件包含文件有临时工程文件,源代码文件,项目库文件,还有一些其他的文件格式,如代码源文件QRC格式文件、项目文件是PRI文件,编译源文件是TS格式文件,样式文件。PRO格式文件也可能是ProPresenter创建演示文件,ProPresenter是编辑创建演示程序;可以包含视频和歌词歌曲和其他音乐;经常在使用的过程中创建可视化显示。PRO格式文件AdobeProto创建的文件,用于创建交互式线框图的Adobe应用程序和网站原型;可以存储多个页面布局,每个互动元素;支持CSSWebKit,jQuery技术。Adobe原始设计可以呈现和在标准Web浏览器中查看。保存项目,可上载到Adobe创意更广泛的编辑云,然后在Dreamweaver中下载。

10. qt designer调试的问题,是不是用designer创建的对话框什么的也要qmake以后才能编译

Qt designer 能创建的是一个.ui文件,用XML写成,IDE中的qmake通常都是必须有建立好的工程才能run qmake,而designer默认只负责UI界面编写,不能自动调用qmake产生.pro文件建立工程的,Qt Creator是各个工具的集成体,你在Creator里刚开始就自动创建好工程了。如果要不借助Qt Creator,那么先建好一个文件夹(与预期工程名相同),然后在其下编写main文件,用designer生成的文件用 uic *.ui > ui_*.h,然后在需要的地方#include 这个头文件就可以了,要想创建工程, 目录下运行qmake -project,这样就有了一个pro文件,之后的话用Creator打开也可以直接编辑,如果是linux下哦你个 QDevelop打开,都可以的。

阅读全文

与qtpro和pri哪个先编译相关的资料

热点内容
拉伸训练pdf 浏览:92
如何拨号到中央服务器 浏览:648
中国天才少年程序员 浏览:352
编程思想pdf 浏览:282
加密欧美航线 浏览:48
svn怎么看服务器的地址 浏览:187
骑马与砍杀1命令部队用盾牌 浏览:595
光缆pdf 浏览:350
加密流量实时监测 浏览:628
360压缩和好压哪个好 浏览:61
python判断变量是否为list 浏览:906
云服务器1m带宽表示什么意思 浏览:702
429升冷柜用多大压缩机 浏览:116
决策树算法java实现 浏览:376
androidtv开发焦点控制 浏览:328
论人的成长pdf 浏览:282
python网站源代码 浏览:827
手机文件压缩器怎么安装 浏览:112
androidsdk封装 浏览:266
微信加密不知道怎么取消 浏览:705