当前位置: 首页 > news >正文

(四) 实战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.所需插件

  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
  2. 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) 观察变化

  1. 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,之后可以进入断点

在这里插入图片描述

相关文章:

  • 【学习】Codeforces Round 786 (Div. 3)G. Remove Directed Edges
  • strcmp()在C语言中怎么用(附带实例)
  • .NET8 依赖注入组件
  • day003-重置密码
  • React 与 Vue 的区别:你会选择哪个框架呢
  • 构建智能风控引擎的全流程设计指南
  • JDK环境变量
  • Spring Boot 支持政策
  • 综述类论文读后报告——重庆大学《深度学习在人类活动识别中的应用综述》
  • 第一部分:网页的骨架 —— HTML
  • 【教学类-102-19】蝴蝶三色图作品1——卡纸蝴蝶(滴颜料按压对称花纹)A4横版最大号22.85CM
  • 做的一些题目的答案和自己的一些思考
  • 【WLAN】华为无线AC双机热备负载分担—双链路热备份
  • 驱动汽车供应链数字化转型的标杆解决方案:全星研发项目管理APQP软件系统:
  • Oracle 租户、用户、模式之间的关系
  • zephyr架构下Bluetooth advertising接口
  • Ubuntu20.04部署Ragflow(Docker方式)
  • Android studio学习之路(八)---Fragment碎片化页面的使用
  • MCP 协议解读:STDIO 高效通信与 JSON-RPC 实战
  • Dify + Mermaid 实现自然语言转图表
  • 官方披露:临汾昔日“明星官员”宿青平已于去年落马
  • 沈阳市委常委马原出任阜新市委副书记、市政府党组书记
  • 魔都眼·上海车展④|奔驰宝马保时捷……全球豪车扎堆首秀
  • 我国已顺利实施20次航天员出舱活动,达到国际先进水平
  • 载人登月总体进展顺利
  • 神二十发射时间藏着两彩蛋:恰逢东方红一号发射55周年和第十个“中国航天日”