當前位置:首頁 » 編程軟體 » 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 20:33:54 瀏覽:224
歐博中央空調原始密碼是多少 發布:2025-02-08 20:33:47 瀏覽:335
運動使人快樂緩解壓力 發布:2025-02-08 20:27:01 瀏覽:98
linux命令大文件 發布:2025-02-08 20:25:06 瀏覽:897
C蟻群演算法 發布:2025-02-08 20:21:25 瀏覽:513
私人搭建伺服器能幹嘛 發布:2025-02-08 20:21:24 瀏覽:596
網吧怎麼通過伺服器玩網路游戲 發布:2025-02-08 19:59:52 瀏覽:914
文檔編輯加密 發布:2025-02-08 19:56:31 瀏覽:392
phpmysql存儲過程實例 發布:2025-02-08 19:54:40 瀏覽:161
淘寶賣的地下城腳本 發布:2025-02-08 19:41:40 瀏覽:62