标签:动态链接库 ide 2.4 生成 静态库 object 2.3 interface 工具
学习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文件自动编译链接生成可执行程序或库文件。
gdb:调试器,用于调试可执行程序。
Idd:查看可执行文件依赖的共享库(扩展名“.so”,动态链接库)
2.2 Windows 环境
MinGW、MSVC等。
MinGW:利用MinGW就可以在Windows中生成exe程序和dll链接库。与GNU一样,也属于工具集,包含各种子系统,但是一般还是统称为MinGW。
与GNU的区别:
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/ 里面关于动态链接、静态链接也值得一看。
标签:动态链接库 ide 2.4 生成 静态库 object 2.3 interface 工具
原文地址:https://www.cnblogs.com/meikon/p/10228447.html