M1芯片Mac配置vscode调试C++环境

        近来闲暇无事,看到同门师兄弟掌握技能甚多,吾也想习得一点傍身之技,所以便开始了C++的学习。同时,吾攒钱终于购置了一台丐中丐版m1 macbook air,爱不释手,故想要在mac上来调试C++程序,万事开头难,mac上的vs和win上的vs有着天壤之别,并且不支持调试C++。头秃,何解?寻遍度娘,终于成功配置vscode调试C++的环境,接下来请听吾细细道来。

目录

Step1:下载vscode

Step2:安装clang编译器

Step3:下载扩展

Step4:新建cpp文件

Step5:配置文件

1.配置tasks.json文件

2.配置c_cpp_properties.json文件 

3.编译生成文件

4.配置launch.json文件 

5.调试(debug)

6.配置文件代码

Step6*:调用外部终端

总结

​​​​​​​参考文档

​​​​​​​


​​​​​​​

Step1:下载vscode

        vscode已经完成对m1芯片的适配,可以直接进入官网下载vscode。

Step2:安装clang编译器

        打开终端,输入clang --version查看是否已经安装clang编译器,若已安装,直接进入下一步。

        若未安装,在终端中输入xcode-select --install,按提示进行安装即可。

Step3:下载扩展

        打开vscode, 在侧边栏中点击扩展,搜索并安装以下4个扩展:

  1. C/C++
  2. C++ Intellisense
  3. CodeLLDB(C++debugger)
  4. Chinese(中文扩展包)

        这里注意,在安装CodeLLDB时,会弹出Acquiring CodeLLDB platform package,这是在下载并安装改平台包,如果下载速度很慢,可以直接下载CodeLLDB平台包,m1 mac选择codelldb-aarch64-darwin.vsix进行下载。下载完成后,手动安装已下载的平台包,步骤如下图: 

     

按照提示重启vscode,不再提示Acquiring CodeLLDB platform package表示安装成功。

Step4:新建cpp文件

        这里直接采用微软官方文档中的helloworld.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;
}

Step5:配置文件

1.配置tasks.json文件

        首先,点击顶部菜单栏中的终端---配置默认生成任务---C/C++ clang++,此时会生成一个tasks.json文件,这个文件是默认生成的,需要修改其中的args选项,添加一个"-std=c++17",,修改如下:

"args": [
	"-fdiagnostics-color=always",
	"-g",
	"${file}",
	"-std=c++17",
	"-o",
	"${fileDirname}/${fileBasenameNoExtension}"
]

修改完后,发现依旧会出现语法错误,别急,接下来,需要配置另一个文件。

2.配置c_cpp_properties.json文件 

        使用组合键shift+command+p调出C/C++:编辑配置(json),此时会自动生成一个c_cpp_properties.json文件。

        修改编译器为clang++

        将"compilerPath": "/usr/bin/clang",修改为"compilerPath": "/usr/bin/clang++",

        修改C++标准为C++17

        将"cppStandard": "c++98",修改为"cppStandard": "c++17",

3.编译生成文件

        配置完成后,点击顶部菜单栏中的终端---运行生成任务,此时会生成一个二进制文件,右键这个二进制文件,点击在终端中打开,键入./你的二进制文件名,即可看到输出结果。

        “哎呀呀,这些我都会,就是debug总是不成功,怎么办啊?嘤。”

        别急别急,这就道来。 

4.配置launch.json文件 

        点击顶部菜单栏中的运行---添加配置---C++(GDB/LLDB)---clang++ 生成活动文件,会生成一个launch.json文件。 

        在文件中将"type": "cppdbg",修改为"type": "lldb",

        到此,所有配置工作均完成。

        “这就完了??我不信,我要debug!我要debug!!”

        好不好使,我们试一下不就知道了~

5.调试(debug)

         在文件的第10行放置一个断点,点击顶部菜单栏中的运行---启动调试,各种变量就成功展现在我们眼前了。

6.配置文件代码

        以下是我的三个json文件配置代码:

  tasks.json:

{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "cppbuild",
			"label": "C/C++: clang++ 生成活动文件",
			"command": "/usr/bin/clang++",
			"args": [
				"-fdiagnostics-color=always",
				"-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++ 生成活动文件"
		}
	]
}

         “确实是能调试了,可是我的输出结果为什么不在外部的终端里显示,却是在vscode中显示呢?到底怎么回事??嘤。”

        征途已接近尾声,不要着急嘛,这里简单设置一下就好啦~

Step6*:调用外部终端

        点击侧边栏中的管理---设置,在搜索框中输入terminal external,步骤如下:

        将如下如下两项设置均改为external

        重启vscode,再次运行程序,会发现输出结果显示在终端之中了,若终端没有弹出到桌面,可以检查dock栏,这是会发现终端“站”在了小点之上,点开它即可观察输出结果。

总结

        之前在网上找了很久搭建环境的方法,虽然确有很多文章,但有很多并不能成功实现,所以搭建出最后这个可用的环境花了我很多时间(还是菜哈哈哈哈),为了其他像我一样手持m1 Mac的小白可以在其上学习C++,我总结前人的经验整理了这一篇教程,这也是我的第一篇CSDN,希望不是最后一篇哈哈哈哈,求学之路,路漫漫其修远兮,吾将上下而求索。

参考文档

​​​​​​​

        

  • 72
    点赞
  • 212
    收藏
    觉得还不错? 一键收藏
  • 41
    评论
### 回答1: 要在Mac M1配置C++环境,可以按照以下步骤进行操作: 1. 安装Xcode:在Mac App Store中下载并安装Xcode,它包含了C++编译器和其他开发工具。 2. 安装Homebrew:打开终端,运行以下命令安装Homebrew: ``` /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" ``` 3. 安装GCC:在终端中运行以下命令安装GCC: ``` brew install gcc ``` 4. 配置VSCode:打开VSCode,安装C/C++插件。在VSCode中打开C++文件,按下F1键,输入“C++:Edit Configurations”,选择“C++(GDB/LLDB)”作为调试器。 5. 配置任务:在VSCode中按下F1键,输入“Tasks:Configure Task”,选择“C++:g++ build active file”,然后按照提示进行配置。 6. 编译运行:在VSCode中按下F5键,编译并运行C++程序。 以上是在Mac M1配置C++环境的步骤,希望对您有所帮助。 ### 回答2: 首先,在Mac M1配置C语言开发环境需要以下几个步骤: 1.安装Xcode工具并勾选Command Line Tools 2.安装homebrew管理器 3.安装LLVM编译器 4.安装Visual Studio Code(VSCode) 5.安装C/C++插件和Code Runner插件 接下来,我们将详细介绍这些步骤: 1.安装Xcode工具并勾选Command Line Tools Xcode是苹果公司开发的一款集成开发环境,可以编写IOS、MacOS和其他苹果相关软件。在Mac下开发C语言,我们需要Xcode工具中的Command Line Tools,因此在安装Xcode的过程中,需要勾选Command Line Tools。 2.安装homebrew管理器 homebrew是Mac系统上一款非常好用的包管理器,可以用来安装和卸载各种软件包,包括LLVM编译器和VSCode等软件。在终端输入以下指令安装homebrew: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 3.安装LLVM编译器 Mac系统自带的Clang编译器已经可以编译C语言程序,但为了更好的编译效果和调试支持,我们可以使用LLVM,输入以下指令安装: brew install llvm 安装完成后,我们可以使用命令“which clang”来查看LLVM是否安装成功。 4.安装Visual Studio Code(VSCodeVSCode是一款由微软开发的轻量级代码编辑器,提供了丰富的插件和扩展,可以满足我们进行C语言开发所需的各种功能。在VSCode的官网上下载安装包并安装即可。 5.安装C/C++插件和Code Runner插件 在VSCode中,我们需要安装C/C++插件和Code Runner插件来加强对C语言的支持和调试功能。在VSCode的Extensions界面搜索并安装即可。 以上就是在Mac M1配置C语言开发环境的步骤。需要注意的是,在使用LLVM编译器时,需要将其添加到环境变量中,可以通过修改.bash_profile文件并添加“export PATH="/usr/local/opt/llvm/bin:$PATH"”来实现。 ### 回答3: 首先,需要下载并安装适用于 M1 芯片的 Xcode。可以在 App Store 中搜索并安装。这是因为在 M1 芯片上编译 C 语言需要使用 Clang 编译器,而 Clang 是由 Xcode 提供的。 安装完 Xcode 后,需要安装 Homebrew。Homebrew 是 Mac 上一个常用的包管理器。打开终端,输入以下命令即可安装 Homebrew: ``` /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" ``` 安装完 Homebrew 后,再输入以下命令安装 Clang 编译器: ``` brew install clang ``` 安装完 Clang 后,需要打开 VS Code。可以在 VS Code 搜索框中输入 C/C++,找到官方提供的 C/C++ 扩展,点击安装。安装完成后,需要打开 VS Code 的设置,找到 C/C++ 扩展的配置项。 在 C/C++ 扩展配置项中,需要设置 C/C++ 编译器路径。配置方法如下: 找到 “C_Cpp:Default:clang++ Path” 配置项,将其设置为 Clang 编译器的路径。 默认情况下,Clang 编译器的路径如下: ``` /usr/local/Cellar/llvm/13.0.0/bin/clang++ ``` 需要根据自己的 Clang 编译器安装路径进行设置。 在配置好 C/C++ 编译器路径后,就可以在 VS Code 中编写并运行 C 语言程序了。新建一个 C 语言文件,输入代码后,可以按 F5 键编译运行程序,或者在终端中输入以下命令进行编译运行: ``` clang file.c -o file && ./file ``` 其中,file.c 是 C 语言源文件名,file 是编译后的程序名。 最后,需要注意的是,在 M1 芯片上编译 C 语言时,需要使用 -arch arm64 标志指定编译架构。例如,使用 Clang 编译 hello.c 程序时,需要输入以下命令: ``` clang -arch arm64 -o hello hello.c ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 41
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值