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

c++ vscode cmake debug for mac

1. 下载vscode

2. 安装c++插件

参考:C++ programming with Visual Studio Code

3. 安装llvm,可以使用brew安装

4. 配置llvm到系统环境变量中

5. 编写c++代码

6. 编写CMakeLists.txt文件(前提安装cmake)

cmake_minimum_required(VERSION 3.5)project(vscode_cmake_debug)# 设置可执行文件的输出路径
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)# 重点
set(CMAKE_BUILD_TYPE "Debug")add_executable(main src/main.cpp)

7. 生成vscode中c++的智能提示文件c_cpp_properties.json

可参考:https://code.visualstudio.com/docs/cpp/config-clang-mac

{"configurations": [{"name": "Mac","includePath": ["${workspaceFolder}/**"],"defines": [],"macFrameworkPath": ["/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk/System/Library/Frameworks"],"compilerPath": "/opt/homebrew/opt/llvm/bin/clang","intelliSenseMode": "macos-clang-arm64"}],"version": 4
}

8. 生成vscode debug文件launch.json

具体可参考:Configure VS Code for Clang/LLVM on macOS

{// Use IntelliSense to learn about possible attributes.// Hover to view descriptions of existing attributes.// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "Debug","type": "lldb","request": "launch",            "program": "${workspaceFolder}/cmake_debug/bin/main","args": [],"stopAtEntry": false,"cwd": "${workspaceFolder}","environment": [],"externalConsole": false,"MIMode": "gdb","setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true}],//"preLaunchTask": "C/C++: g++ build active file",//"miDebuggerPath": "lldb的路径"}]
}

其中部分字段配置可参考:

https://code.visualstudio.com/docs/editor/variables-reference

和Configure launch.json for C/C++ debugging in Visual Studio Code

因为已经采用cmake编译,所以launch中的preLaunchTask可以不用关联task了

参考文件:

c++程序的 cmake编译+vscode来debug 方法和步骤(ubuntu)_cmake 如何debug-CSDN博客

http://www.lryc.cn/news/205589.html

相关文章:

  • 17 结构型模式-享元模式
  • 创建Secret(手动)
  • 基于PHP的线上购物商城,MySQL数据库,PHPstudy,原生PHP,前台用户+后台管理,完美运行,有一万五千字论文。
  • Lua 事件触发机制(注册,触发)
  • c++ 并发与多线程(12)线程安全的单例模式-1
  • Python学习笔记--迭代
  • idea免费插件分享
  • Pytorch使用torch.utils.data.random_split拆分数据集,拆分后的数据集状况
  • 每日一练 | 华为认证真题练习Day122
  • SQL sever中函数(2)
  • win10专业版驱动开发
  • 【JavaEE】网络编程---TCP数据报套接字编程
  • 用 Go 访问 MySql 数据库
  • mac 升级node到指定版本
  • 欢迎进QQ群讨论交流
  • C语言解决八皇后问题
  • springboot集成canal,将数据发送至接口
  • Selenum八种常用定位(案例解析)
  • Web前端接入Microsoft Azure AI文本翻译
  • 容联七陌助力鱼跃医疗升级智能联络中心,让客户服务更“鱼跃”
  • 【Redis系列】在Centos7上安装Redis5.0保姆级教程!
  • 线性代数-Python-03:矩阵的变换 - 手写Matrix Transformation及numpy中的用法
  • 【单片机基础】按键状态机实现短按、长按、双击、三击和N击
  • Ubuntu虚拟机部署OpenStack
  • ES在企业项目中的实战总结,彻底掌握ES的使用
  • QT的Qporcess功能的使用
  • 【图灵诸葛】jvm笔记
  • 数据安全小课堂开讲啦!看这里!
  • 单片机矩阵键盘
  • 横坐标日期等间隔绘图 python示例代码