qtcreator配置msvc编译器 visual studio配置qt开发 以及使用对比

qtcreator配置msvc编译器开发

  • qtcreator在线安装(qt5.12之后)时候,默认选择的是mingw(gcc编译器的windows版本)的qt库以及migw编译器,我们可以额外勾选msvc(visual studio的编译器,微软自家的编译器,且专用于windows平台)版qt库。注意,就默认安装在c盘即可。

  • 而msvc编译器是没得选的,只能自己安装,这里我们可以直接安装一个visual studio 2019或者2022(最新的)软件(刚好后面也会用到这个软件的),其中勾选 c++开发工具,扩展开发工具两项,安装即可。此时就会连带安装好msvc编译器了。注意,就默认安装在c盘即可。

  • qtcreator菜单栏,便捷-》preference-》构建套件,自己增加一个套件,其中编译器c和c++那里,选择"管理,然后 re-detect,让它自己搜索一下,会发现有MSVC的编译器出现了,但是可以发现,c和c++的编译器都是一样的,而mingw编译器是区分的。

  • 调试器,旋转cdb.exe即可,qt版本旋转 qt msvcxx xxbit的。编译器和qt库都选amd64位的即可。

  • 然后新建项目时,选择刚刚定制的那个构建套件即可。

  • 注意,msvc默认是用gbk编码来编译源文件的,而qtcreator默认都是utf8编码,因此我们如果有中文注释或者字符串,会编译报错的,这里我们需要在.pro文件里加入如下代码即可:

    #解决msvc编译器强制utf进行编译,因为默认是gbk进行编译的,从而中文会乱码或者编译报错
    msvc{
    QMAKE_CXXFLAGS += /source-charset:utf-8 /execution-charset:utf-8
    }

  • 就可以编译运行和调试了。

我们可以发现,msvc编译器的编译和调试的速度特别快,特别是调试,显著的比mingw版qt和mingw编译器快的,调试功能更强大一些,其它的倒是没有什么区别。

visual studio配置qt开发

  • 下载最新版vs2022(我当前的版本)或者vs2019,安装时候选c++开发,c++扩展开发两个模块
  • 安装好后,在菜单栏"扩展"-》"管理扩展",搜索qt visual studio tools插件,直接安装即可(我的是3.0.2版本),或者直接去qt官网下:Qt Visual Studio Tools - Visual Studio Marketplace
  • 然后,菜单栏"扩展"-》"qt vs tools" -》 'qt versions"中,点击+号,浏览到前面安装的qt库的qmake.exe位置,确定即可
  • 此时在general页面,将preferred source 改为offline,即光标所在qt函数,按下f1可以打开离线的文档,而不是在线文档,这样没网的时候也可以用了。qt designer的run in detached window设为true,这样打开ui设计界面才不会闪退。
  • 菜单栏,文件,新建 qt工程,widget工程,编译运行即可。

visual studio打开qtcreator的.pro工程

还是 菜单栏"扩展"-》"qt vs tools" -》 'open qt project file(.pro)",这里直接打开qtcreator中建立的工程的.pro文件即可。注意:visual studio建立的工程,好像不能生成.pro文件,也就是说qtcreator无法打开visual studio创建的qt工程,当然,可能也没这个必要,见后面分析。

开发qt程序,qtcreator 和 visual studio使用对比

先说我的看法结论:

用qtcreator建立qt项目 ,进行代码开发,采用msvc的qt版本以及msvc编译器,棘手的问题用visual studio打开该项目进行debug调试。

原因:

qtcreator更适合写代码:

qtcreator是qt官方自己的IDE,界面上的各种功能都是针对qt开发的实用功能,界面简洁实用。

而visual studio是针对所有windows平台上应用做开发的一个强大IDE,功能繁多,而qt的开发仅仅是一个插件的形式进行支持,导致针对性功能较少,而无关功能大量存在,使得操作繁琐。

这里举个几个常见的例子:

qtcreator将UI设计的Qt designer融为一体了,拖拽的控件右键可以直接"转到槽",这个提高了代码编写效率。

光标按下F1按键,qtcreator跳转的对应文档,是在软件内即可进行浏览,而visual studio是在浏览器中进行外部浏览,很明显,qtcreator集成度更友好的。此外,控制台输出什么的,qtcreator支持得也更加好的,vs只能在弹出的一个控制台里输出,很鸡肋!

另外,qtcreator界面比较简洁,项目视图简洁清晰,更容易操作和阅读。

关于代码提示,跳转,查找引用,重构改名,编辑体验 友好性等方面,qtcreator做得很好用的了,不输visua studio的。而且有一点,我觉得qtcreator编辑器的配色比visual studio好看!

msvc编译器更高效

假如我们的qt软件仅仅运行在windows平台,那么用msvc编译器就可以了,而mingw是可以跨平台的。

msvc是微软自家的编译器,编译速度,优化,调试方面,更加强大,此外很多第三方库都是windows平台,都是msvc编译器编出来的,因此可以直接链接使用。

visual studio调试棘手问题更强大

尤其是调试功能cdb.exe,调试功能明显更强大的,能解决很多棘手的问题,例如软件闪退,进行内存dump定位等。从上面说的,刚好visual studio可以打开**.pro**项目的(那么vs能不能建立.pro工程呢?好像低版本的qt插件是可以的,反正我的是不行)。

相关推荐
xcyxiner4 小时前
DicomViewer24 修复编译bug(window test 失败)
前端·qt
开开心心就好10 小时前
超市定时播音软件,免费版支持循环播放
智能手机·ffmpeg·ocr·word·vim·音视频·visual studio
sycmancia11 小时前
Qml——Rectangle元素
qt
oooost11 小时前
Jupyter Notebook 常用快捷键速查
ide·python·jupyter
sycmancia13 小时前
Qml——Item元素
qt
励志不掉头发的内向程序员14 小时前
【从零写一个CAD 04】中键拖动平移:抓住一个点,让它一直待在鼠标底下
开发语言·c++·qt·学习·系统架构·计算机外设
yqj23418 小时前
ESP32-S3中小智项目优化内容
ide·macos·xcode
VIP_CQCRE1 天前
Visual Studio 也能接入统一 AI 能力:用 Ace Data Cloud + LMLocal 打通 OpenAI 兼容模型
openai·ai编程·开发工具·visual studio·acedatacloud
阿斌.com1 天前
Visual Studio 2026安装全攻略
ide·visual studio
VIP_CQCRE1 天前
在 Visual Studio 里接入 AI 编程助手:用 Ace Data Cloud + LMLocal 打通 OpenAI 兼容模型
ai编程·visual studio·openai兼容·ace data cloud·lmlocal