开发工具详谈

学习QT时,遇到了MinGW,以前一直用vs编写程序,一直没遇到另一种编译器。根本没有形成一个概念。Mark。

一、什么是工具集

  我们在写代码时,如果没有各种开发工具集,我们写的各种代码只不过是一种TXT格式的文件。但有了开发工具,我们就可以对这些代码进行编译、链接。从而变成可执行文件或库文件。针对不同的平台,有不同的开发工具。

二、各种平台下的开发工具。

  2.1 Unix、Linux环境。

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

    gcc:C语言编译器。

    g++:c++语言编译器。

    Id:链接器,将目标文件与库文件链接起来,创建可执行程序和动态链接库。

    ar:生成静态库“.a”。可以编辑和管理静态链接库。

    make:生成器。根据Makefile文件自动编译链接生成可执行程序或库文件。

扫描二维码关注公众号,回复: 4802015 查看本文章

    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/               里面关于动态链接、静态链接也值得一看。

猜你喜欢

转载自www.cnblogs.com/meikon/p/10228447.html