1、概述
Qt工具包是一个完整封装的C 类库(可以类比MFC),并且使用一次编写,随处编译的方式,可用于构建多平台图形用户界面。
2、QT跨平台
qt在不同操作系统下都实现有不同的底层类库,然后再暴露出一个公共的应用层接口,我们做的开发就是基于这个公共的应用层接口来完成。所谓的跨平台是指基于qt写的代码是跨平台,而不是编译出来的文件跨平台,同一份代码需要放到另一个平台上时,需要用另一个平台的类库重新编译。一个简要的qt框架跨平台实现原理图:
3、QT编译器的选择
一般取决于你需要依赖的第三方库是哪来的。如果你的第三方库是msvc的,能可能就必须msvc,如果第三方库是mingw的可能就必须mingw。
像我们多平台开发的话,用的库基本上一定是Linux能用的库,而Linux能用的库一定是在mingw下支持会比较好。(mingw甚至能 include unistd.h 之类的Linux专用头文件),那就首选mingw。但如果有第三方库比如商业库需要引入,而它们的库是msvc库,就必须使用msvc了。
所以你用哪个编译真的不取决于你想用哪个,取决于你习惯用来自哪个平台的第三方库。如果是多平台Qt开发肯定是选择mingw更好。
而且WebEngine是MSVC特有的,用于网页开发,Linux上可以通过安装库来解决
QT 区分编译器类型