mac教程

先决条件#

要胜利实现本教程,您必须执行以下操作:

  1. 在macOS上装置Visual Studio Code。
  2. 为VS Code装置C ++扩大。您能够通过在“扩大”视图(⇧⌘X)中搜寻“ c ++”来装置C / C ++扩大。

确保已装置Clang #

您的Mac上可能曾经装置了Clang。要验证它是否正确,请关上macOS终端窗口,而后输出以下命令:

clang --version
  1. 如果未装置Clang,请输出以下命令以装置命令行开发人员工具:
xcode-select --install

创立工程

1.新建一个文件夹,用vscode关上此文件夹,到此我的项目创立实现.

配置c++编译项

倡议间接装置native debug插件,官网给出的本人配置的办法较繁琐

debug

native debug插件装置之后,能够间接按f5键就行调试,第一次启动的时候会让你抉择环境,抉择c++(GDB/LLDB)(见图1-1)、抉择配置,抉择clang++-生成和调试流动文件(见图1-2)

            图1-1

            图1-2

会主动生成tasks.json和launch.json
编译多文件的时候须要在在tasks.jso -args退出文件门路,且批改输入文件名,不能和文件夹下的文件重名,改变后如下:

{    "tasks": [        {            "type": "shell",            "label": "C/C++: clang++ build active file",            "command": "/usr/bin/clang++",            "args": [                "*.cpp",//cpp文件门路                "*.c",//c文件门路                "main/*.c",//main下的c门路                "-g",                "-o",                 // cmakeTest不能和以后门路下的重名                "${fileDirname}/cmakeTest"            ],            "options": {                "cwd": "${workspaceFolder}"            },            "problemMatcher": [                "$gcc"            ],            "group": {                "kind": "build",                "isDefault": true            }        }    ],    "version": "2.0.0"}

因为下面批改了生成的程序名,须要同步批改launch.json中program的值

{    // Use IntelliSense to learn about possible attributes.    // Hover to view descriptions of existing attributes.    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387    "version": "0.2.0",    "configurations": [        {            "name": "clang++ - 生成和调试流动文件",            "type": "cppdbg",            "request": "launch",            // 和task.json 输入程序文件一至            "program": "${fileDirname}/cmakeTest",            "args": [],            "stopAtEntry": false,            "cwd": "${workspaceFolder}",            "environment": [],            "externalConsole": false,            "MIMode": "lldb",            "preLaunchTask": "C/C++: clang++ build active file"        }    ]}