(四) 实战Trae 编译调试C++项目(以minidocx为例)
Trae编译调试C++
- 零
- 一 项目minidocx
- 1.1 下载
- 1.2 项目介绍
- 1.3 解压/clone到本地
- 二 安装程序
- 2.1 Trae-CN or Trae
- 2.2CMake 安装
- 2.3 安装vs2022msvc工具链
- 2.4 安装LLVM
- 2.5 安装Trae插件
- 1.所需插件
- 2.安装插件
- 三 编译
- 3.1 新添编译配置 my-clang-cl
- 1) 配置
- 2)新添预设
- 3)从编译器创建
- 4) 选择编译器 Clang-cl 20.1.1
- 5)输入配置名my-clang-cl
- 6) 观察变化
- 3.2 生成
- 1) 点击"删除缓存并重新配置"
- 2) 点击生成(在下面状态栏)
- 3)观察生成结果
- 4)查看生成的代码
- 四 调试
- 4.1 选择调试器 和 调试exe
- 4.2增加断点:
- 4.3 开始调试
零
本文章主要记录使用Trae + CMake + LLVM + msvc 配合一起,编译minidocx项目,并调试.
使用工具链包括 LLVM MSVC.
注意:CMake 和 编译相关不熟悉的可以参考本专题其他文章
Trae编译C++专题
一 项目minidocx
1.1 下载
地址:github/minidocx or gitee/mindocx
这是一个使用c++ 20 的项目
1.2 项目介绍
根据项目介绍,这是一个c++ 生成word docx文件的程序.
该项目最终会生成5个exe作为例子
- list.exe
- myapp.exe
- pict.exe
- style.exe
- table.exe
1.3 解压/clone到本地
D:\Code\CodeTest\minidocx-next
(实际上是使用的该项目的next分支)
二 安装程序
2.1 Trae-CN or Trae
下载:Trae国际版
下载:Trae国内版
二选一下载安装即可
2.2CMake 安装
下载 CMake地址
安装后要设置环境变量Path
开始->设置->系统->高级系统设置->“环境变量” ->“Path”.增加如下路径
D:\Program File\CMake\bin
(说明:笔者将CMake安装到了D:\Program File\CMake)
2.3 安装vs2022msvc工具链
下载:visualstudio
选择安装:
msvc工具链是自动设置path等路径.不需要手动修改
2.4 安装LLVM
下载 LLVM
(笔者安装的路径为D:\Code\CodeTool\LLVM)
开始->设置->系统->高级系统设置->“环境变量” ->Path.增加如下路径
2.5 安装Trae插件
1.所需插件
- Extension Pack for C/C++(KylinIdeTeam) 已经包含:
1.1 kylin Clangd
1.2 C/C++ Debug(gdb) – 因为这个,所以下载较慢
1.3 CMake Intelli
1.4 CMake Tool(fork)
1.5 Kylin Native Debug - CodeLLDB (vadimcn)
2.安装插件
在搜索窗口搜索插件 1.Extension Pack for C/C++ 2. CodeLLDB 进行安装
三 编译
3.1 新添编译配置 my-clang-cl
1) 配置
2)新添预设
点击修改箭头会弹出下图.点击:添加新预设
3)从编译器创建
选择最下面的"从编译器创建"
4) 选择编译器 Clang-cl 20.1.1
5)输入配置名my-clang-cl
‘这个配置名影响以后输出代码的目录位置’
6) 观察变化
- CMakeTool插件 在配置行出现:my-clang-cl
2.CMakePresets.json文件中新增下列内容:
另外,别忘记补上一句
"generator":"Ninja"
如果不补上这句,自动就去生成msvc的sln和vcproj
另外:如果其他项目中自带的CMakePresets.json文件项目比较多,而且不是你需要,你可以删除其中的所有内容,再按照上述操作(如果项目没有此文件,可以新建空的CMakePresets.json文件)
3.2 生成
1) 点击"删除缓存并重新配置"
点击下图 ①
2) 点击生成(在下面状态栏)
点击下图 ② 生成
3)观察生成结果
中间虽然有warning ,不过还是全部都生成了
4)查看生成的代码
在CMakePresets.json中有如下句子,表明了CMake创建的项目在如下位置
"binaryDir": "${sourceDir}/out/build/${presetName}",
所以在左侧代码窗口可以看见
在①处打开资源管理器
在②处可以看到解决方案都放到了/out/build/{配置名}目录下
在③处可以看到是使用clang-cl方式整理的解决方案
在④处可以看到是使用msvc方式整理出的解决方案(使用msvc工具链时产生,本文章未涉及)
四 调试
4.1 选择调试器 和 调试exe
在下图①位置,选择调试器lldb (之前我们选择的是clang-cl编译的)
在下图②位置,选择调试的list.exe
4.2增加断点:
在项目的 examples\list.cpp文件中增加断点
下图选中①list.cpp
在第11行增加断点,见下图②
4.3 开始调试
点击状态栏①右侧的小bug,之后可以进入断点