Qt是一個(gè)30年前由Qt Company開(kāi)發(fā)的跨平臺(tái)C++圖形用戶界面應(yīng)用程序開(kāi)發(fā)框架,隨著版本的不斷更新迭代,加入了很多現(xiàn)有工具鏈比如編譯器、鏈接器、調(diào)試器等,我們分幾個(gè)部分講解 Qt 使用到的工具鏈。
在上個(gè)世紀(jì)八十年代,為了推進(jìn)Free Software Foundation (FSF) 自由軟件基金會(huì)的發(fā)展,當(dāng)時(shí)的程序員創(chuàng)立了與眾不同的 GNU 項(xiàng)目(GNU's Not Unix)并開(kāi)發(fā)出來(lái)很多開(kāi)源的系統(tǒng)工具,GNU Compiler Collection(GCC)也就是GNU編譯器套件由此而生。
GNU工具集常用的包含以下幾個(gè)
工具 | 說(shuō)明 |
---|---|
gcc | GNU C 語(yǔ)言編譯器 |
g++ | GNU C++ 語(yǔ)言編譯器 |
gdb | 調(diào)試器,用于調(diào)試可執(zhí)行程序 |
ar | 生成靜態(tài)庫(kù) .a ,可以編輯和管理靜態(tài)鏈接庫(kù) |
make | 生成器,可以根據(jù) makefile 文件自動(dòng)編譯鏈接生成可執(zhí)行程序或庫(kù)文件 |
ld | GNU 鏈接器,將目標(biāo)文件和庫(kù)文件鏈接起來(lái),創(chuàng)建可執(zhí)行程序和動(dòng)態(tài)鏈接庫(kù) |
ldd | 查看可執(zhí)行文件依賴的共享庫(kù)(擴(kuò)展名.so,也叫動(dòng)態(tài)鏈接庫(kù)) |
全稱Minimalist GNU for Windows,MinGW是為了在Windows使用GNU 工具而誕生的,可以生成 Windows 里面的 exe 程序和 dll 鏈接庫(kù)。
MinGW 項(xiàng)目同時(shí)支持生成 64 位和 32 位程序,Qt 的 MinGW 版本庫(kù)是使用 MinGW-w64 項(xiàng)目里面的工具集生成的。
MinGW 里面工具帶有擴(kuò)展名.exe
MinGW 里面的生成器文件名為 mingw32-make.exe
MinGW 在鏈接時(shí)是鏈接到 *.a 庫(kù)引用文件,生成的可執(zhí)行程序運(yùn)行時(shí)依賴 *.dll
MinGW 里沒(méi)有 ldd 工具
MinGW 可以通過(guò) dlltool 來(lái)生成用于創(chuàng)建和使用動(dòng)態(tài)鏈接庫(kù)需要的文件
全稱Cross platform Make ,CMake是一個(gè)開(kāi)源的跨平臺(tái)自動(dòng)化構(gòu)建工具,相信大家搞Linux開(kāi)發(fā)應(yīng)該很熟悉了,它支持利用各種編譯工具生成可執(zhí)行程序或鏈接庫(kù)。
cmake可以跨平臺(tái)地生成各式各樣的 makefile 文件,自己去編寫(xiě)比較麻煩,而CMake可以化繁為簡(jiǎn),qt則是使用 qmake 工具生成 makefile 文件,cmake也是需要了解的。
Qt 官方的開(kāi)發(fā)環(huán)境安裝包里有專門(mén)的開(kāi)發(fā)工具,常用的 Qt 開(kāi)發(fā)工具如下
聯(lián)系客服