MacOS 环境下 VSCode 的 C++ 环境搭建
编译器安装
编译器可以选择 Clang 或者 GCC,在 MacOS 上 Clang 的安装更为简单一些。
Clang(推荐)
打开终端输入命令,
clang -v
查看是否已经安装。
如果已经安装,会输出类似于如下的信息:
Apple clang version 14.0.0 (clang-1400.0.29.202)
Target: arm64-apple-darwin22.2.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
如果没有安装,则输入命令,
Xcode-select --install
进行安装。
GCC
首先需要安装 brew,安装方法见官网,如果国内访问速度比较慢,可以自行搜索 brew 国内镜像。
然后输入命令,
brew install gcc
进行安装。
插件安装
在 VSCode 中安装如下的三个插件
- C/C++:提供了编辑的代码智能提示(IntelliSense)和调试(debugging) 功能;
- CodeLLDB:提供了更加强力的调试支持;
- Code Runner:更方便地运行代码(非调试);
配置文件生成
c_cpp_properties.json
c_cpp_properties.json 中包含了编译器路径、头文件路径等等的设置信息,这些信息主要用于编辑的代码智能提示(IntelliSense)。
在 VSCode 中按下 ⇧⌘P,输入命令 C/C++: Edit Configurations (UI) 打开 C/C++ 的配置页面。根据 CPU 架构(一般是 Intel 或 Apple Silicon) 和编译器(Clang 或 GCC) 的不同,我们需要在配置页面中设置 编译器路径 和 IntelliSense 模式 这两个选项。
编译器路径
从下拉框中选择 Clang/GCC 可执行文件对应的路径。
- Clang 的路径示例:
/usr/bin/clang或者/usr/bin/clang++ - GCC 的路径示例:
/opt/homebrew/Cellar/gcc/12.2.0/bin/g++
IntelliSense 模式
| CPU | 编译器 | 选项 |
|---|---|---|
| Intel | Clang | macos-clang-x64 |
| Intel | GCC | macos-gcc-x64 |
| Apple Silicon | Clang | macos-clang-arm64 |
| Apple Silicon | GCC | macos-gcc-arm64 |
在 C/C++ 的配置页面设置好之后,VSCode 会为我们自动生成 c_cpp_properties.json 文件。
c_cpp_properties.json 的示例
{
"configurations": [
{
"name": "Mac",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [],
"macFrameworkPath": [
"/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks"
],
"compilerPath": "/usr/bin/clang",
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "macos-clang-arm64"
}
],
"version": 4
}
有关 c_cpp_properties.json 的官方说明可以参考 c_cpp_properties.json reference。
tasks.json
在 tasks.json 中,我们会定义一个编译可执行文件的任务,
我们可以通过 VSCode 来自动生成这个文件,只要在 C++ 源文件中按下 F5,选择对应的选项(Clang 选择编译器 Clang++,GCC 选择编译器 G++),就会生成这个文件。
tasks.json 的示例
{
"version": "2.0.0",
"tasks": [
{
"type": "cppbuild",
"label": "生成活动文件",
"command": "/usr/bin/clang++",
"args": [
"-fcolor-diagnostics",
"-fansi-escape-codes",
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "编译器: /usr/bin/clang++"
}
]
}
有关 tasks.json 的详细介绍可以参考 Using Clang in Visual Studio Code 和 Integrate with External Tools via Tasks。
launch.json
在 launch.json 中我们将设置调试相关的内容。
在之前生成 tasks.json 的同时,也会自动生成这个文件。这个文件的 type 一般会设置为 cppdbg。为了使用 CodeLLDB,建议将其改成 lldb
launch.json 的示例(cppdbg)
{
"version": "0.2.0",
"configurations": [
{
"name": "生成和调试活动文件,
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}",
"args": [],
"stopAtEntry": true,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true, // 推荐设置为 true,否则在调试过程中无法接受输入
"MIMode": "lldb",
"preLaunchTask": "生成活动文件"
}
]
}
launch.json 的示例(lldb)
{
"version": "0.2.0",
"configurations": [
{
"name": "生成和调试活动文件",
"type": "lldb",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}",
"args": [],
"cwd": "${workspaceFolder}",
"preLaunchTask": "生成活动文件"
}
]
}
️注意:请确保launch.json 中 preLaunchTask 的值和 tasks.json 中的 label 保持一致。
有关 launch.json,可以参考Debugging、 Using Clang in Visual Studio Code、Variables Reference 和 Configure C/C++ debugging
如果设置 type 为 lldb,可以参考 CodeLLDB 的官方文档。
MacOS 环境下 VSCode 的 C++ 环境搭建的更多相关文章
- Centos7环境下etcd集群的搭建
Centos7环境下etcd集群的搭建 一.简介 "A highly-available key value store for shared configuration and servi ...
- Linux环境下SolrCloud集群环境搭建关键步骤
Linux环境下SolrCloud集群环境搭建关键步骤. 前提条件:已经完成ZooKeeper集群环境搭建. 一.下载介质 官网下载地址:http://www.apache.org/dyn/close ...
- Linux环境下HDFS集群环境搭建关键步骤
Linux环境下HDFS集群环境搭建关键步骤记录. 介质版本:hadoop-2.7.3.tar.gz 节点数量:3节点. 一.下载安装介质 官网下载地址:http://hadoop.apache.or ...
- Linux环境下ZooKeeper集群环境搭建关键步骤
ZooKeeper版本:zookeeper-3.4.9 ZooKeeper节点:3个节点 以下为Linux环境下ZooKeeper集群环境搭建关键步骤: 前提条件:已完成在Linux环境中安装JDK并 ...
- 01.1 Windows环境下JDK安装与环境变量配置详细的图文教程
01.1 Windows环境下JDK安装与环境变量配置详细的图文教程 本节内容:JDK安装与环境变量配置 以下是详细步骤 一.准备工具: 1.JDK JDK 可以到官网下载 http://www.or ...
- 【Data Cluster】真机环境下MySQL数据库集群搭建
真机环境下MySQL-Cluster搭建文档 摘要:本年伊始阶段,由于实验室对不同数据库性能测试需求,才出现MySQL集群搭建.购置主机,交换机,双绞线等一系列准备工作就绪,也就开始集群搭建.起初笔 ...
- virtualenv 环境下 Nginx + Flask + Gunicorn+ Supervisor 搭建 Python Web
在这篇文章里,我们将搭建一个简单的 Web 应用,在虚拟环境中基于 Flask 框架,用 Gunicorn 做 wsgi 容器,用 Supervisor 管理进程,然后使用 Python 探针来监测应 ...
- Windows环境下ARM集成开发环境的搭建与使用
Windows环境下能够使用Eclipse IDE for C/C++ Developers来搭建ARM开发环境 本文地址:http://blog.csdn.net/u011833609/articl ...
- Windows环境下vscode Live Server插件如何开启https
0x01 vscode http插件 Live Server如何开启https 在本机端的开发环境下,如果要测试一些需要HTTPS的功能可以使用mkcert给自己颁发凭证 0x02 安装步骤如下: 1 ...
- windows环境下简单Jenkins持续集成搭建
Jenkins是基于Java开发的持续集成工具,所以在安装Jenkins之前我们要确定电脑上已经安装了Java JDK并且环境变量配置正确,否则在启动使用java -jar Jenkins.war启动 ...
随机推荐
- 使用虚拟 dom 渲染页面 《vue.js 设计与实现》
使用 js 对象描述 ui 更加灵活.假如我们要根据级别不同采用不同的标签.js 对象描述的话,只需要一个变量代表 h 标签即可. // 当变量改变时,标签也会变化. let level = 3 c ...
- WSL安装Ubuntu 22.04 (2)
1.安装系统环境 1.1.设置软件包源为国内镜像 参考:Ubuntu更换国内镜像源 - 知乎 1.2.更新系统软件包 sudo apt-get update && sudo apt-g ...
- ffmpeg的常用参数
-encoders 查看支持的编码器 Intel处理器的核心显卡支持的编码器带有qsv后缀(Intel quick sync video acceleration) NVIDIA独立显卡 ...
- python-魔法函数-__str__ __repr__ 的一次异常
# encoding: utf-8import loggingERROR_NOT_FOUNDED_FILE = "error_not_founded_file"class Gene ...
- SQL字符匹配
一般形式 列名 [not] like 'str' 匹配串可以是以下四种通配符: 单下划线 _:匹配任意一个字符: %:匹配0个或多个字符: [ ]:匹配[ ]中的任意一个字符(若要比较的字符是连续的, ...
- 制作可以显示GIF动图的activeX 控件
因为工作需要,我需要一个可以显示gif 动图的控件,用来在VBS中显示动图,结果找了半天发现根本没有这样的控件,所以只能搜集资料自己来制作一个. 下面记录一下步骤: 1. 下载 PictureEx.h ...
- 网络如何运作——详细DNS、HTTP、网站
详细的DNS 什么是DNS? DNS(域名系统)为我们提供了一种简单的方式来与互联网上的设备进行通信,而无需记住复杂的数字.就像每个房子都有一个唯一的地址可以直接向它发送邮件一样,互联网上的每台计算机 ...
- Github说明--如何在Github里面上传自己的代码
1.注册一个账号 这是必须的啦!不清楚注册步骤的,可以去看看我之前的博客,里面的步骤也是挺详细的呢! 2.进入到用户主界面 我们会看到这样的一个+标识: 选择其中的New Repository选项,点 ...
- SpringBoot笔记--配置->profile的配置
profile--动态配置切换 profile配置方式: 使用spring.profile.active=进行激活.properties文件 直接使用一个.yml文件代替多文件配置 使用---分隔符分 ...
- FastCorrect:语音识别快速纠错模型丨RTC Dev Meetup
前言 「语音处理」是实时互动领域中非常重要的一个场景,在声网发起的「RTC Dev Meetup丨语音处理在实时互动领域的技术实践和应用」活动中,来自百度.寰宇科技和依图的技术专家,围绕该话题进行了相 ...