Qt教程
+ -

QT的工具集

2024-05-07 14 0

如果我们开发Windows平台软件,使用宇宙第一IDA Visual studio就行了,这里不用管到底是VS2019还是VS2022那个版本之类。
但是我们有时又了解Linux平台软件的开发,知道一个东西叫做makefile。它们都只是编译一个C或者C++语言,仅平台不同而已,搞这么复杂干什么。但因为我们无法建立不同平台的开发不同工具链的关系,所以就一知半解~

编译与链接

C/C++编译成目标文件,使用的工具叫做编译工具。而将目录文件最终链接成可执行文件如exe,dll,sys之类的叫做链接工具。
在Windows-vs2019下,编译工具叫做cl.exe,链接工具叫做link.exe
在linux下,一般使用的是gcc/g++,编译和链接工具都是gcc/g++

工程组织

如果对于单个文件,我们直接调用上面的工具即可。但是一个复杂的工程,可以有多个源文件,也有很多第三方库的引入。这时就需要对工程组织。到底都编译那些源文件,链接什么第三方库,在那些目录去找他们。
这在vs2019中,直接通过VS集成的工程配置环境即可配置就行了。
105921570217

而在Linux环境中,一般使用的是gcc/g++来编译,故需要单独写一个配置文件叫做makefile,这里面写满了依赖关系。比如引入的头文件目录,第三方库链接,目标文件的生成规则,编译链接选项都是使用makefile来书写的。这时需要使用一个工具make程序,来解析makefile中内容,安照makefile的书写规则分别调用gcc/g++来编译链接。

根据不同平台生成不同的工程配置文件

这里就要说C++的不争气了。
开源软件一般都会支持不同的平台,所以写一份代码,然后可以配置成不同的平台工程环境。如我们可以将它配置成Windows下的VS2019有工程环境,也可以配置成Linux下的GCC/G++工程环境。

  • 配置成Windows,需要生成VS2019的工程文件DevTest.vcxproj
  • 配置成LINUX的,需要生成GCC/G++的MakeFile文件。
    这个活由谁是由CMake来干的。

    CMake(Cross platform Make)是一个开源的跨平台自动化构建工具, 可以跨平台地生成各式各样的 makefile 或者 project 文件, 支持利用各种编译工具生成可执行程序或链接库。
    CMake

第三方软件在编写软件时,写一个叫做CMakeLists.txt的文件,CMake根据其配置和用户选择的平台,成生不同的平台工程。
如Windows下生成VS2019的工程。linux生成makefile。这样不同的平台,可以使用其专门的工具来编译调试工程了。

MinGW

原本 GNU/GCC-G++ 工具只在 Linux/Unix 系统里才有,随着 Windows 系统的广泛使用, 为了在 Windows 系统里可以使用 GNU 工具,诞生了 MinGW(Minimalist GNU for Windows) 项目,利用 MinGW 就可以生成 Windows 里面的 exe 程序和 dll 链接库。
说的了,MinGW就是把LINUX那一套make&maiekfile东西般进了Windows而搞的。

QT的工程配置

QT搞了这么多年,也弄了很多的东东。比如Qmake之类,不过最新的版本也在拥抱CMake。在QT中创建工程,会让你选择构建系统。我们可以看到有3种选项。
112307708099
我们一般选择CMake就行了。其它的应该都是QT自己搞的一套标准。
使用了CMake之后,我们在创建项目这后,QT会根据CMake构建我们不同的构建系统。如VS2019,MinGW等。
比如我的一个工程目录First如下:
1133513151

0 篇笔记 写笔记

作者信息
我爱内核
Windows驱动开发,网站开发
好好学习,天天向上。
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!