導航:首頁 > 源碼編譯 > 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哪個先編譯相關的資料

熱點內容
解除電腦加密文件夾 瀏覽:358
androidcheckbox組 瀏覽:546
linux在線安裝軟體 瀏覽:823
如何設置手機安卓版 瀏覽:285
簡歷pdfword 瀏覽:123
鋒雲視頻伺服器網關設置 瀏覽:162
linux伺服器如何查看網卡型號 瀏覽:142
加密相冊誤刪了怎麼恢復 瀏覽:380
安卓代練通怎麼下載 瀏覽:518
知道域名如何查詢伺服器 瀏覽:906
方舟手游怎麼才能進伺服器 瀏覽:289
抖音演算法自動爆音 瀏覽:24
linux修改網卡配置 瀏覽:913
雲伺服器和本地伺服器數據 瀏覽:843
在家如何創業python 瀏覽:225
編譯原理好課 瀏覽:716
python中實數的表示 瀏覽:371
php下載中文名文件 瀏覽:351
哪裡有專門注冊app實名的 瀏覽:273
魔爪mx穩定器app去哪裡下載 瀏覽:469