微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Mac下安装VScode和配置C++环境

1. 下载、安装VScode软件

VScode的下载地址:
https://code.visualstudio.com/Download
网站中包含了通用安装包(稍大)、Intel芯片专属安装包以及苹果芯片安装包,为了方便这里直接选择Universal进行下载。

在这里插入图片描述


点击后文件开始下载。
若此时下载速度很慢甚至几分钟后下载终端,可以切换为国内的下载镜像,具体方法为:
复制链接到新的页面,将网址中stable之前的地址改为国内镜像地址:vscode.cdn.azure.cn

在这里插入图片描述


下载速度会变得飞快。
下载完成后,解压压缩包,并将文件拖入应用程序即可。

在这里插入图片描述

2. 配置C/C++环境

  1. 首先检查Mac上面有没有安装编译器,方法如下:
clang++ --version

如已经安装会显示如下的版本号,如未安装,按照提示先安装编译器clang++,xcode在这里不是必须要安装的,只不过安装了xcode,相应的编译器也顺带安装了,如果不进行ios等相关的开发,仅安装clang++也是可以。

在这里插入图片描述


在这里插入图片描述


2. 打开安装好的VScode,安装如下的插件
安装插件C\C++ (编辑、调试C/C++程序),C\C++ Clang Command Adapter,CodeLLDB(Mac下一定要安装这个插件,用来debug,解决Catalina不支持lldb调试问题)以及code runner(用来编译)。

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


3. 新建文件夹,并使其成为vscode的工作目录。
3.1 文件夹新建
3.2 file -> open folder -> 选择新建的文件
4. 新建cpp文件,如firstcase.cpp,编写简单的hello,world程序。

在这里插入图片描述

#include<iostream>
using namespace std;

int main()
{
    for(int i=0;i<5;i++)
    {
    cout<<"hello,vscode"<<endl;
    }
    return 0;
} 
  1. 添加配置文件:tasks.json、launch.json、以及c_cpp_properties.json.
    5.1 创建tasks.json,用以告诉vscode如何编译这段程序(调用clang++编译创建一个可执行文件
    方法菜单栏中,Terminal > Configure Default Build Task,在下面的选项中选择C/C++ clang++ build active file ,表示对编辑器中正在活动的文件创建编译任务。

    在这里插入图片描述


    回到cpp文件,按⇧⌘B进行编译,如果在终端显示如下的提示,代表编译成功。

    在这里插入图片描述


    5.2 创建launch.json,目的是按下F5时触发LLDB debugger
    方法:如下,注意这里选LLDB,不要选C++(GDB/LLDB)

    在这里插入图片描述


    自动生成后,将你需要把替换成你的编译程序的名字,显然,你每编译一个项目就要修改它显然不合适,所以参照tasks.json的设置把替换成${fileBasenameNoExtension}

    在这里插入图片描述


    5.3 创建c_cpp_properties.json,tasks.json文件
    方法:在cpp文件页面下,⇧⌘P ->C/C++: Edit Configurations (UI)

    在这里插入图片描述

    1. 至此,三个配置文件已经配置完毕,源文件粘贴如下:
      task.json:
{
  // See https://go.microsoft.com/fwlink/?LinkId=733558
  // for the documentation about the tasks.json format
  "version": "2.0.0",
  "tasks": [
    {
      "type": "shell",
      "label": "clang++ build active file",
      "command": "/usr/bin/clang++",
      "args": [
        "-std=c++17",
        "-stdlib=libc++",
        "-g",
        "${file}",
        "-o",
        "${fileDirname}/${fileBasenameNoExtension}"
      ],
      "options": {
        "cwd": "${workspaceFolder}"
      },
      "problemmatcher": ["$gcc"],
      "group": {
        "kind": "build",
        "isDefault": true
      }
    }
  ]
}

launch.json:

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more @R_760_4045@ion,visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0","configurations": [
        {
            "type": "lldb","request": "launch","name": "Debug","program": "${fileDirname}/${fileBasenameNoExtension}",//"terminal": "external","args": [],"cwd": "${workspaceFolder}"
        }
    ]
}

c_cpp_properties.json:

{
    "configurations": [
        {
            "name": "Mac","includePath": [
                "${workspaceFolder}/**"
            ],"defines": [],"macFrameworkPath": [
                "/Library/Developer/CommandLinetools/SDKs/MacOSX12.1.sdk/System/Library/Frameworks"
            ],"compilerPath": "/usr/bin/clang","cStandard": "c17","cppStandard": "c++17","intelliSenseMode": "macos-clang-arm64"
        }
    ],"version": 4
}

另外需要注意的一点:如果更改了程序的内容,保存之后,需要重新shift+command+B,产生新的.out文件,这样再按F5调试才是修改后的结果,否则仍然是修改前的结果。

参考文章

[1]: https://blog.csdn.net/Vinsuan1993/article/details/103983520
[2]: https://blog.csdn.net/neptune4751/article/details/105925558/
[3]: https://blog.csdn.net/fujz123/article/details/104426121
[4]: https://code.visualstudio.com/docs/cpp/config-clang-mac
[5]: https://blog.csdn.net/xucee/article/details/115034505

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐