m1 MacBook配置VS code的C++环境(2021年8月)
文末放了我的三个json文件配置,可以参考。
1.下载VS code
VS code已针对m1 芯片进行了适配,去官网下载VS code Apple Silicon版并安装。
2.确保clang已安装
在终端里输入clang --version
查看是否已安装,若未安装,输入xcode-select --install
读完条款输入agree安装即可。
3.下载扩展
一共有三个扩展需要下载。
1.C/C++
2.C++ Intellisense
3.CodeLLDB
4.Chinese(中文插件,可选)
4.新建cpp文件
这里直接采用微软官方文档里的代码。
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
vector<string> msg {"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"};
for (const string& word : msg)
{
cout << word << " ";
}
cout << endl;
}
这个时候,在文件第10行输入msg.
应该是能看到VS code跳出assign
之类的提示的。
5.配置文件
1.配置tasks.json文件
首先点击终端
---配置默认生成任务
--- C/C++ clang++
,会生成一个tasks.json文件,这是默认生成的,需要修改其中的args
选项,添加一个"-std=c++17"
,修改后为
"args": [
"-g",
"${file}",
"-std=c++17",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
配置完后,会发现VS code提示语法错误,不要急,接下来就修正它。
2.配置c_cpp_properties.json文件
使用组合键shift+command+p
(mac下shift就是fn
键上面那个啦),调出C/C++:编辑配置(json)
,会自动生成一个c_cpp_properties.json
文件。
将"compilerPath": "/usr/bin/clang",
修改为"compilerPath": "/usr/bin/clang++",
将""cppStandard": "c++98",
修改为"cppStandard": "c++17",
其实只是将编译器修改为clang++,cpp标准修改为C++ 17.
3.编译生成文件
这么配置完后,其实VS code还是会报两个语法错误,不过这不要紧,这是因为还没更新的缘故。
点击终端
---运行生成任务
,运行完后会生成一个二进制文件,语法报错也没了,表示我们编译成功了。
如果想测试的话,新建一个终端,使用./你的二进制文件名
,即可看到输出结果。
4.配置launch.json文件
点击运行
---添加配置
---C++(GDB/LLDB)
---clang++
,会生成一个launch.json
文件。
将"type": "cppdbg",
修改为"type": "lldb",
至此,所有文件就配置完了。
5.调试
在文件的第10行放一个断点,点击运行
---启动调试
,就可以看到各种变量了。
我的文件配置
以下是我的三个json文件配置代码。
tasks.json
:
{
"version": "2.0.0",
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: clang++ 生成活动文件",
"command": "/usr/bin/clang++",
"args": [
"-g",
"${file}",
"-std=c++17",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "编译器: /usr/bin/clang++"
}
]
}
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
}
launch.json
:
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "clang++ - 生成和调试活动文件",
"type": "lldb",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "lldb",
"preLaunchTask": "C/C++: clang++ 生成活动文件"
}
]
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· .NET 进程 stackoverflow异常后,还可以接收 TCP 连接请求吗?
· SQL Server统计信息更新会被阻塞或引起会话阻塞吗?
· C# 深度学习框架 TorchSharp 原生训练模型和图像识别
· 这或许是全网最全的 DeepSeek 使用指南,95% 的人都不知道的使用技巧(建议收藏)
· 拒绝繁忙!免费使用 deepseek-r1:671B 参数满血模型
· 本地搭建DeepSeek和知识库 Dify做智能体Agent(推荐)
· Sdcb Chats 重磅更新:深度集成 DeepSeek-R1,思维链让 AI 更透明!
· DeepSeek-R1本地部署如何选择适合你的版本?看这里