macOS下C++编程 您所在的位置:网站首页 macos程序开发 macOS下C++编程

macOS下C++编程

2023-04-09 00:12| 来源: 网络整理| 查看: 265

macOS下编写C++代码IDE,可以选择Visual Studio Code或Xcode,推荐使用Xcode,因为使用Visual Studio Code编写C++的前提是,需要安装Xcode。此外Visual Studio Community for Mac不支持C++编程。

本文系统环境:macOS 10.15 Catalina

Visual Studio Code

Visual Studio Code简称VS Code。

VS Code下载点击这里。截止到2020年3月9日,VS Code版本为1.43.0。

VS Code汉化包可在VS Code商店里搜索:Chinese (Simplified) Language Pack for Visual Studio Code

在VSCode商店里安装C/C++扩展。

VS Code的C/C++扩展不包括C++编译器或调试器,需要在macOS先安装Clang for Xcode,Xcode可以在App Store里安装。在VS Code终端里执行:g++ --help

将VS Code加入到系统PATH环境变量中,下图在VS Code主菜单查看->命令面板...里打开:

新建一个空文件夹,如hellworld,在VS Code里以工作区方式打开:

在命令面板里选择C/C++:编辑配置(UI),会自动生成c_cpp_properties.json文件。

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": "c11", "cppStandard": "c++17", "intelliSenseMode": "clang-x64" } ], "version": 4 } 复制代码 在命令面板里选择任务:配置默认生成任务->Others运行任意外部命令的示例,会自动生成task.json文件。

默认生成的task.json文件如下:

{ // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "2.0.0", "tasks": [ { "label": "echo", "type": "shell", "command": "echo Hello" } ] } 复制代码

使用以下内容替换task.json文件:

{ "version": "2.0.0", "tasks": [ { "label": "Build with Clang", "type": "shell", "command": "clang++", "args": [ "-std=c++17", "-stdlib=libc++", "helloworld.cpp", "-o", "helloworld.out", "--debug" ], "group": { "kind": "build", "isDefault": true } } ] } 复制代码 在命令面板里选择调试:打开launch.json->C++(GDB/LLDB),会自动生成launch.json文件。

默认生成的launch.json文件如下:

{ // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "(lldb) 启动", "type": "cppdbg", "request": "launch", "program": "输入程序名称,例如 ${workspaceFolder}/a.out", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": false, "MIMode": "lldb" } ] } 复制代码

"program": "输入程序名称,例如 ${workspaceFolder}/a.out", 复制代码

替换为:

"program": "${workspaceFolder}/helloworld.out", 复制代码

跟task.json文件内的hellowrold.out一致。

添加一个C++源文件helloworld.cpp,示例代码如下: #include int main() { std::cout 运行生成任务...,编译运行程序:

启用调试程序:

如果显示以下问题: Warning: Debuggee TargetArchitecture not detected, assuming x86_64,可以在launch.json里增加下面的配置:

"targetArchitecture": "x86_64" 复制代码

最后的运行结果为:

c_cpp_properties.json tasks.json launch.json这3个文件可以复制到其他工作区重复使用,只需要把对应的cpp和out文件名替换即可。

参考引用:code.visualstudio.com/docs/cpp/co…

Xcode

Xcode版本信息如下:

File->New->Project 选择macOS下的Command Line Tool项目模板类型:

Language为C或C++,下图选择C:

选择C,默认生成main.c文件,点击左上方运行按钮Run结果如下:

选择C++,默认生成main.cpp文件,点击左上方运行按钮Run结果如下:

常见问题 问题:*** is not a valid command

解决:项目所在目录和项目名不能是中文,改成英文。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有