開發工具詳談

學習QT時,遇到了MinGW,之前一直用vs編寫程序,一直沒遇到另外一種編譯器。根本沒有造成一個概念。Mark。c++

1、什麼是工具集ide

  咱們在寫代碼時,若是沒有各類開發工具集,咱們寫的各類代碼只不過是一種TXT格式的文件。但有了開發工具,咱們就能夠對這些代碼進行編譯、連接。從而變成可執行文件或庫文件。針對不一樣的平臺,有不一樣的開發工具。工具

2、各類平臺下的開發工具。學習

  2.1 Unix、Linux環境。開發工具

    GNU 工具集。包含 gcc、g++、Id、ar、make、gdb、Idd。ui

    gcc:C語言編譯器。調試

    g++:c++語言編譯器。對象

    Id:連接器,將目標文件與庫文件連接起來,建立可執行程序和動態連接庫。資源

    ar:生成靜態庫「.a」。能夠編輯和管理靜態連接庫。開發

    make:生成器。根據Makefile文件自動編譯連接生成可執行程序或庫文件。

    gdb:調試器,用於調試可執行程序。

    Idd:查看可執行文件依賴的共享庫(擴展名「.so」,動態連接庫)

  2.2 Windows 環境

    MinGW、MSVC等。

    MinGW:利用MinGW就能夠在Windows中生成exe程序和dll連接庫。與GNU同樣,也屬於工具集,包含各類子系統,可是通常仍是統稱爲MinGW。

    與GNU的區別:

    1.    MinGW裏面工具帶有擴展名.exe,GNU 則沒有。
    2.    生成器擴展名爲mingw32-make.exe。GNU之中的是make。
    3.    連接時,連接到*.a庫引用文件,生成的可執行文件運行時依賴*.dll,GNU鏈接和使用時都使用*.so。

             4.             沒有Idd工具,不適用.so共享庫文件。 

    MSVC:visual studio使用的編譯器。功能和MinGW相似。 

  2.3 CMake

    CMake是一個開源的跨平臺的自動化構建工具,能夠跨平臺生成各式各樣的makefile或者project文件。前面已經提到過Makefile文件在生成中的做用,CMake其實就是根據本身構建的腳本CMakeLists.txt 自動生成Makefile。而後就能夠用make生成可執行程序或者連接庫。Qt中是利用Qmake來生成Makefile文件。

  2.4 Qt中的工具集

    qmake:生成Makefile文件,生成跨平臺的.pro項目文件。

    uic:User Interface Compiler。根據.ui 文件生成用於建立用戶界面的c++代碼頭文件,

    moc:Meta-Object Compiler。元對象編譯器。moc處理c++頭文件類定義裏面的Q_OBJECT宏,生成源代碼文件。元對象代碼主要用來實現Qt信號/槽機制。

    rcc:資源文件編譯器。編譯.qrc資源文件。將資源嵌入到Qt程序中。

    qtcreator、assistant、designer、linguist、qmlscene。

 

參考:https://qtguide.ustclug.org/               裏面關於動態連接、靜態連接也值得一看。

相關文章
相關標籤/搜索