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 区分编译器类型

关于QT跨平台和编译器的理解相关推荐

  1. 为什么要用Qt开发(Qt跨平台应用开发)

    一.为什么选择qt 1.跨平台,一次写代码多个平台编译.使跨平台应用达到各个平台原生应用的体验与流畅度.相比与java或c#在开发图形计算方面的软件时有非常好的使用体验与流畅度. 2.使用C++编程虽 ...

  2. 01-为什么要用Qt开发(Qt跨平台应用开发)

    一.为什么选择qt 跨平台,一次写代码多个平台编译.使跨平台应用达到各个平台原生应用的体验与流畅度.相比与java或c#在开发图形计算方面的软件时有非常好的使用体验与流畅度. 使用C++编程虽然没有j ...

  3. Qt跨平台开发环境搭建

    Qt跨平台开发环境搭建 1.     背景介绍 Qt是一个跨平台的C++图形用户界面应用程序框架.它提供给应用程序开发者丰富的图形用户界面所需的所有功能.而且,Qt很容易扩展,并且允许真正地组件编程. ...

  4. Qt 添加MSVC2017编译器(2022年保姆级教程,不安装完整VS)

    目录 0. 前言 1. 前期准备 2. 安装 2.1 安装Qt 2.2 安装MSVC编译器和Windows 10 SDK 3. 配置 3.1 添加MSVC编译器并选择bat文件 3.2 传入脚本文件参 ...

  5. Qt平台和编译器说明-Android

    Qt平台和编译器说明-Android 平台和编译器说明-Android Qt Creator中的Android开发 应用程序包 部署方式 使用Ministro进行部署 部署进行调试 插件和导入的特殊注 ...

  6. Qt Creator添加编译器

    Qt Creator添加编译器 添加编译器 重新检测编译器 指定编译器设置 添加Nim编译器 添加自定义编译器 添加编译器 Qt在各种32位和64位平台上受支持,通常可以在每个平台上使用GCC,供应商 ...

  7. QT跨平台项目开发经验(项目打包)

    1.代码编写 1.1 代码编写简短,代码运行效率高,适当注释.一般一个大型的项目,代码的运行效率要求较高,一般需要秒级响应,甚至毫秒级. 1.2 建议使用命名空间::的形式来访问该命名空间中的变量和函 ...

  8. Qt使用MSVC编译器关闭“warning: C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失”警告的方法

    Qt使用MSVC编译器关闭"warning: C4819: 该文件包含不能在当前代码页(936)中表示的字符.请将该文件保存为 Unicode 格式以防止数据丢失"警告的方法 [问 ...

  9. Qt使用MSVC编译器关闭“C4100:未引用的形参”警告的方法

    Qt使用MSVC编译器关闭"C4100:未引用的形参"警告的方法 [问题描述] 在C++中,经常会定义一些虚函数作为接口类,这些虚函数本身基本是空函数,由派生类覆盖出具体的实现.一 ...

最新文章

  1. 关于百度地图api测距显示NaN的解决方案
  2. ruby watir 登陆邮箱
  3. C++11库中 steady_clock , system_clock和high_resolution_clock的区别
  4. 粽子SHOP-粽子商城官网-一款简洁大气的官网源码
  5. toolBar——工具栏
  6. kafka不使用自带zk_Centos安装kafka(使用自带的zookeeper)
  7. python socket 实现的简单http服务器
  8. (USB HID) Report Descriptor 理解
  9. 在图片上加入删除按钮
  10. java 反射覆盖方法_使用 Cobertura 和反射机制提高 Java 单元测试中的代码覆盖率...
  11. 生信学习笔记:生物信息学测序分析基本流程入门笔记
  12. 【转载】前端项目开发流程及技术选型
  13. qq三国华容道算法(拼图问题,8数码问题?)
  14. gitter 卸载_最佳Gitter频道:数学
  15. Python-从txt中获取所有带有书名号的内容,并去除重复内容
  16. Unity 图片切割九宫格
  17. PN结——“耗尽层”?
  18. cin gt gt n是c语言中的什么,c++中cinna是什么意思
  19. 云时代下主机安全防护建设,用RS-CDPS就够了
  20. Xshell安装与使用

热门文章

  1. SourceTree系列5:贮藏和修复Bug
  2. 从Google Aquila和RMA谈谈数据中心互联技术变革,NUPA和UMA
  3. 携程实时用户数据采集与分析系统
  4. 电压比较器采样电路调试
  5. Category 类别 -Objective-C
  6. Part 2 Linux programming:chapter 15:套接字和标准I/O
  7. 思茅的堂弟说信用卡滞纳金取消
  8. qcqa是什么职位_QC、QA的定义及岗位职责
  9. 创建GitHub技术博客全攻略
  10. 小白如何选择一款好用的音乐编曲软件,看这里