繁体   English   中英

在 Mac 上使用 Visual Studio Code 运行 C++ 程序

[英]Running a C++ Program on Mac in Visual Studio Code

我正在尝试运行:

    #include <iostream>

int main() {
    std::cout << "Hello World!";
    return 0;
}

在我的 Mac 上。 我在 Visual Studio Code 中安装了 C++ 和 Code Runner。 但我收到以下错误:

[Running] cd "/Users/NAME/Documents/Program/C++/" && g++ test.cpp -o test && "/Users/NAME/Documents/Program/C++/"test Undefined symbols for architecture x86_64:   "_main", referenced from:
     implicit entry/start for main executable ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

[Done] exited with code=1 in 0.081 seconds

要构建和运行 helloWorld.cpp 或任何其他项目,您需要先创建构建设置。

考虑到您已经创建了helloworld.cpp文件,请按照以下步骤操作:

  1. 您将创建一个 tasks.json 文件来告诉 VS Code 如何构建(编译)程序。 此任务将调用 Clang C++(或 g++,如果您想使用 gcc 构建)编译器从源代码创建一个可执行文件。
  2. 在编辑器中打开 helloworld.cpp 很重要,因为下一步使用编辑器中的活动文件作为上下文来创建下一步中的构建任务。
  3. 从主菜单中,选择终端 > 配置默认构建任务。 将出现一个下拉列表,其中列出了 VS Code 在您的机器上找到的编译器的各种预定义构建任务。 选择C/C++ clang++ build active file (或者 g++ 如果你想用 gcc 构建)来构建当前在编辑器中显示(活动)的文件。
  4. 这将在 .vscode 文件夹中创建一个 tasks.json 文件并在编辑器中打开它。

例如,我的tasks.json看起来像这样(我使用了 g++)

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558 
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "type": "shell",
            "label": "g++ build active file",
            "command": "/usr/bin/g++",
            "args": [
                "-std=c++17",
                "-stdlib=libc++",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "options": {
                "cwd": "${workspaceFolder}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}
  1. 回到helloworld.cpp 因为我们要构建helloworld.cpp所以这个文件是下一步在编辑器中处于活动状态的文件是很重要的。
  2. 要运行您在tasks.json定义的构建任务,请按 ⇧⌘B 或从终端主菜单中选择运行构建任务。
  3. 使用 + 按钮创建一个新终端,您将拥有一个以 helloworld 文件夹作为工作目录的新终端。 运行 ls,您现在应该会看到可执行文件 helloworld 以及调试文件 (helloworld.dSYM)。
  4. 您可以在终端中输入 ./helloworld 来运行 helloworld

注意:这是您在此处的官方文档中看到的内容的简短概述。 您可以用 gcc 替换 clang 以使用 gcc 进行编译和构建。

终端输出:

  • 叮当++
xecuting task: /usr/bin/clang++ -std=c++17 -stdlib=libc++ -g /Users/Projects/test/helloworld.cpp -o /Users/Projects/test/helloworld <
  • 加++
Executing task: /usr/bin/g++ -std=c++17 -stdlib=libc++ -g /Users/Projects/test/helloworld.cpp -o /Users/Projects/test/helloworld <

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM