使用CMake的qt5项目,使用 vs2022调试

回头看当时写的内容,现在vs已经升级使用CmakePreSettings.json 设置里,

同时,设置也简化了很多。

下面内容仍然保留,作为一个记录吧。

================================================================================

qt creator debug 代码时,有个奇怪的现象, F10跟着跟着,莫名其妙地,没法下一步了。只能中断,重来。从5.8 一直到5.15 ,都是如此,

而如果用vs,调试相同的代码,则不会出现上述情况。

今天,这个问题又出现了,逼着我祭起visual studio 神器。

vs2022, 装插件,一直在下载中,喝了一杯茶,吹了会儿水,仍然在开始阶段,中断下载。

去清华镜像站,找到qt项目,在 /qt/archive/vsaddin 路径下,下载了插件,安装,一分钟不到,完成。

然后,打开项目CMakeLists 文件, 各种各样的错误铺面而来。

莫慌,一个个来。

首先,根据编译提示,确认,项目是64位。

根据提示,需要在CMakeList 里加入两个东西: 我qt安装在c:/qt下。

1
2
set(CMAKE_PREFIX_PATH "C:/Qt/5.15.2/msvc2019_64")
set(QT_DIR "C:/Qt/5.15.2/msvc2019_64/lib/cmake/Qt5")

  

然后,vs编辑器该项目下,有个CMakeSettings.json, 点击:编辑json

检查几个基本设置,是否正确:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
  "name": "Qt5_DIR",
  "value": "C:/Qt/5.15.2/msvc2019_64/lib/cmake/Qt5",
  "type": "PATH"
},
{
  "name": "Qt5Core_DIR",
  "value": "C:/Qt/5.15.2/msvc2019_64/lib/cmake/Qt5Core",
  "type": "PATH"
},
{
  "name": "Qt5Gui_DIR",
  "value": "C:/Qt/5.15.2/msvc2019_64/lib/cmake/Qt5Gui",
  "type": "PATH"
},
{
  "name": "Qt5Widgets_DIR",
  "value": "C:/Qt/5.15.2/msvc2019_64/lib/cmake/Qt5Widgets",
  "type": "PATH"
},
{
  "name": "QT_DIR",
  "value": "C:/Qt/5.15.2/msvc2019_64/lib/cmake",
  "type": "PATH" 

注意到:项目是64位的,但上述路径是32位的,修改。Ctrl+ s保存。

保存时,会自动编译一下。

上面这个修改一定要仔细,使用目录和项目位数一定要匹配。估计以后版本能修复这些麻烦。

然后,编译,运行,少了qt5widget。。。。 

显然,编译已经成功,就差运行了。应当说,qt 的应用库应该在path里,但我又不想修改path

运行qt编译环境命令窗口(64位), 去应用程序输出目录,把他就地编译一下。

然后,就可以愉快地跟踪调试了。

===================================================

吐槽一下, CMakeList文件在一个子目录下,VS只显示子目录的内容,想跟踪平行目录的内容,要一级一级跳转到该文件才行,完全不似qt creator 方便。

 

posted on   金凯旋  阅读(1942)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
历史上的今天:
2021-08-09 自动执行脚本中使用sudo权限
2021-08-09 qt5.15.2 的坑
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示