zoukankan      html  css  js  c++  java
  • 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++ 生成活动文件"
            }
        ]
    }
    
  • 相关阅读:
    icmp_ping学习笔记
    学习笔记
    解决Safari高版本浏览器中默认禁用第三方COOKIE(含demo)
    基础算法之插入排序Insertion Sort
    基础算法之选择排序Selection Sort
    基础算法之快速排序Quick Sort
    基础算法之冒泡排序Bubble Sort
    for语句嵌套循坏性能的剖析
    2014——>2015,我的薪资依然是4.5
    C# 反射浅析
  • 原文地址:https://www.cnblogs.com/BYGAO/p/15135609.html
Copyright © 2011-2022 走看看