導航:首頁 > 源碼編譯 > 請論述qt工程編譯原理及過程

請論述qt工程編譯原理及過程

發布時間:2024-07-06 09:12:19

⑴ 如何安裝qt creator編譯

安裝qt creator編譯器步驟:

  1. 下載安裝MinGW

    從MinGW網站下載mingw

    默認安裝到C盤根目錄下:D:MinGW,可以換到自己喜歡的路徑。安裝時選擇C和C++ compiler ,默認只選中了C編譯器。因此一定要注意根據自己的需求懸著編譯器。如果選錯需要刪除重新安裝。

    下載安裝完之後設置環境變數設置環境變數(此處高能)。a. 滑鼠右擊桌面「計算機」(WindowsXp是「我的電腦」)->「屬性」 b. WindowsXP時,在新彈出的屬性窗口,選擇「高級」->「環境變數」。 Windows7時,在新彈出的屬性窗口,選擇左側的「高級系統設置」,在新彈出的屬性窗口,選擇「高級」->「環境變數」。 c. 把MinGW安裝目錄的bin目錄的路徑追加到PATH里,然後確定。 注意:箭頭指的兩個分號一定要加上並且分號一定要在英文輸入模式下輸入

  2. 下載安裝配置QT libraries

    Qtlibraries可以到網上去搜索qt-opensource-windows-x86-mingw482-4.8.6-1.exe,但注意一定要找正式版的。

    設置安裝路徑為D:Qt4.8.4,安裝時需要指定MinGW的安裝路徑為D:MinGW,這里千千萬萬要注意,QT類庫安裝的時候是需要和MinGW進行關聯的。如果找不到後面就悲劇了啊!!!!

    修改環境變數:計算機->屬性->高級系統設置->環境變數

    安裝完後需要把D:Qt4.8.4in目錄添加(原來的別刪了,以「;」做間隔)到系統變數的Path路徑中。

    並新建系統環境變數QMAKESPEC,把值設置為D:Qt4.8.4mkspecswin32-g++;

    還要新建系統環境變數QTDIR,值為D:Qt4.8.4

  3. 安裝成功後打開QT設計師主界面:

    打開Qt 設計師 開始->Qt by Digia v4.8.4 ->Designer 。

    如果Qt lib 安裝成功! 關掉Qt Designer

    Qtcreater可以到網上去搜索qt-creator-opensource-windows-x86-3.1.2.zip

    安裝:需要把C:Qtqtcreator-2.7.1in目錄添加到系統變數的Path路徑中。如果不設置系統環境變數,則創建工程時kit不能設置成功,並且可創建的工程類型也會受到限制。

  4. 設置QT Creator構建和運行配置項 打開QT Creator,選擇菜單「工具/選項」,選擇左邊的"構建和運行",再選擇「Qt版本」選項卡,點擊「添加」,qmake路徑:D:Qt4.8.4inqmake.exe。

  5. 還需要設置Compilers(編譯器)選項卡中的「手動設置」項的編譯器,Name設置為MinGW,編譯器路徑設置為D:MinGWinmingw32-g++.exe

  6. 新增構建套件,編譯器和QT版本選擇自己新增的

    然後就可以正常的創建工程了。

    打開Qt creater 後打開菜單欄 工具->選項。配製

  7. 安裝QT調試工具:

    debugger工具使用對應的MingW下面的Gdb.exe:

    注意此處一定要關聯正確,關聯錯誤會導致,可以編譯運行,但是不能進行調試。

⑵ cpp文件是怎麼變成可執行文件的動態鏈接庫又是什麼呢

=
=...以下是個人理解....我也是菜鳥一隻
1、cpp經過編譯、鏈接生成了.exe。詳細過程請看《編譯原理》之類的書。
2、qt圖形庫應該類似mfc,是.dll導出的,包括頭文件之後使用。
3、makefile相當於安裝文件,=
=,貌似...這個我沒用過。
4、類似mfc,qt的函數是由qt的某個dll導出的。dll就是動態鏈接庫。動態鏈接庫是在運行時動態鏈接到進程中的,而靜態鏈接庫是在鏈接時直接加到了程序文件中的。所以靜態鏈接生成的文件要比動態鏈接的大。

命令行編譯qt程序遭遇 No such file or directory

對於一個qt工程,qt-creator運行沒有問題。後面為了提高自動化效率,寫一個腳本通過命令行編譯qt程序,發現編譯報錯,報錯信息如下:

報錯信息直接指明了原因:找不到頭文件,說明要用的庫的頭文件路徑不在 INCLUDE 變數里,所以編譯時就找不到。

除了上面的報錯,可能還會有如下的報錯情況:

那為什麼qt-creator運行沒有問題呢?
因為 qt-creator 獲取了一些環境變數如下:

解決辦法就是自行把需要用到的路徑加到相應的變數里。

如下通過 python 腳本來編譯qt程序,把路徑加到相應的 PATH 、 INCLUDE 、 LIB 環境變數里,這樣編譯的時候就能找到相應的文件

腳本里的路徑添加都是臨時生效,腳本執行完就失效了,所以不用擔心會破壞系統環境變數。

⑷ 命令行編譯qt程序 有幾種方式

一、環境配置

1
要想使用Qt進行命令行編譯,環境配置是必不可少的一步。環境配置好以後,我們才能使用相應的qmake,nmake等命令,並且鏈接到編譯程序時所需要的頭文件和庫文件。
小提示:為了幫助大家解決環境配置的問題,新版Qt已經自帶了相應的批處理文件,我們只要在編譯前執行對應的批處理文件即可。

2
首先,我們在命令行編譯時需要運行qmake.exe,因此我們需要將該文件的路徑添加到PATH變數中。要想做到這一點,我們只需要執行Qt安裝目錄下的
Qt5.5.1\5.5\msvc2013\bin\qtenv2.bat 批處理即可。

3
其次,在編譯過程中,我們還需要用到nmake命令,並且鏈接相應的頭文件和庫文件,以生成最終的可執行程序。要想做到這一點,我們只需要執行VS安裝目錄下的
D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat批處理即可。
注意:由於我安裝的是Qt for VS2013 32位版,所以運行的是vcvars32.bat,如果你安裝的是64位版,請運行vcvars64.bat。

4
至此,環境配置就大功告成了。關於這個環境配置,需要特別指出的是,這個配置是臨時性的,只在當前命令行窗口有效;也就是說,你關閉命令行窗口後,均需要重新運行相應的批處理文件。
END
二、命令行編譯

首先,將以上兩個批處理文件復制到要編譯的工程目錄中。

然後,點擊菜單「文件」-「打開命令提示符」,在該目錄下打開命令行窗口。

執行批處理文件qtenv2.bat。注意,由於該批處理會跳轉到Qt安裝目錄,我們執行完畢後需要回到我們的當前目錄(我這里由於Qt安裝目錄與當前目錄不在同一個磁碟,只要切換磁碟便回到當前目錄了)。

執行批處理文件vcvars32.bat。

下面,正式開始編譯。首先,生成工程文件。鍵入命令:
qmake -project
說明:生成的工程文件名會與你當前的目錄名同名。例如,我當前的目錄名為test,生成的工程名則為test.pro。

接著,輸入qmake test.pro,生成相應的Makefile文件。

最後,鍵入nmake,生成最終的可執行文件。

⑸ 如何靜態編譯發布Qt應用程序

如果你說的是Qt程序的話,靜態編譯就得自行從源碼開始編譯Qt靜態庫,官網預編譯的版本是不包含靜態庫的。這個很復雜,請參考qt-everywhere-opensource 中提供的編譯幫助。注意如果使用miongw的話,gcc版本最好不要是4.6.2。這個版本比較特殊,但是它是mingw官方版的最新打包版本。
如果你說的是非qt庫依賴的話,有兩種mingw和vs,前者有部分發行版默認去除了dll依賴,直接連接的靜態庫,後者非常不推薦使用靜態庫,畢竟它載入的是系統常用dll,基本上所有系統都是推薦安裝的運行時環境,用靜態庫吃力不討好。

⑹ qt編譯工程時出現QMAKESPEC錯誤

環境變數沒設置對!

⑺ qt 為什麼可以編譯.cpp後綴的C++文件 而無法編譯.c文件

哈!!哈哈,,不是說QT不支持*.c文件,肯定是支持的,既然是*.c文件也就是說默認該文件編譯時使用C編譯器,但是C在語法上和C++還是有一點區別的!就比如說,C中就沒有什麼名稱空間所以namespace可定他就不認識了,因為namespace只是C++中的關鍵字,而非C中!要想編譯的話得把該文件中所有使用了C++語法的東西改動一下,應該就OK啦!!最後祝樓主早日解決這個問題...............

閱讀全文

與請論述qt工程編譯原理及過程相關的資料

熱點內容
idea編譯進度條 瀏覽:132
文件夾工具箱軟體 瀏覽:686
最近為什麼手機連不上索尼伺服器 瀏覽:877
海康錄像機怎麼關視頻加密 瀏覽:786
編程以後有可能被機器人代替嗎 瀏覽:522
windows創建文件命令 瀏覽:986
linuxcopy文件內容 瀏覽:383
程序員帥哥禿頂 瀏覽:839
阿里雲伺服器開通流程 瀏覽:105
如何開雲伺服器 瀏覽:979
網站小說源碼 瀏覽:301
php用什麼ide 瀏覽:867
網上預約課程app哪個好 瀏覽:152
android兼容測試工具 瀏覽:96
雲伺服器不支持虛擬化怎麼辦 瀏覽:189
加密方式的演變 瀏覽:364
java常用演算法pdf 瀏覽:734
伺服器數據遇到異常什麼原因 瀏覽:450
phpexif信息 瀏覽:543
單片機三位元組浮點數 瀏覽:757