首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Mac操作系统上无法在vscode中使用cin或cout

在Mac操作系统上无法在vscode中使用cin或cout
EN

Stack Overflow用户
提问于 2020-10-11 17:32:35
回答 1查看 2K关注 0票数 0

Mac OS: Catalina 10.15.7

重现问题的步骤:

  1. 在Mac.

中安装Xcode和vs代码

  1. 在vs代码.

中安装c++扩展

  1. 创建一个名为cpp01.

的文件夹。

  1. 在vs代码中打开该文件夹.

  1. 创建一个名为cpp01.cpp的文件,并在该文件中复制以下内容。

代码语言:javascript
运行
复制
#include <iostream>

using namespace std;

int main() {
    int intYear;
    cout << "Enter Year: ";
    cin >> intYear;
    cout << "You have entered year: " << intYear << "\n";
}

  1. 选择“运行”->而不调试“

  1. 选择"C++ (GDB/LLDB)"

  1. 选择"Clang ++ -构建和调试活动文件“

终端中的预期输出(或者如果我在Windows或Linux中运行相同的程序,我应该能够在终端中看到以下输出):

代码语言:javascript
运行
复制
Enter Year:

那我就能进入这一年了。

但是,在Mac中运行此程序时的实际输出是:

代码语言:javascript
运行
复制
Executing task: /usr/bin/clang++ -g /Users/abc/vscode/cpp/cpp01/cpp01.cpp -o /Users/abc/vscode/cpp/cpp01/cpp01 <


Terminal will be reused by tasks, press any key to close it.

然后,如果我按下终端中的任何键,它就会关闭终端。我永远也无法进入这一年。

也就是说,在Mac中运行这个程序的行为是完全不同的。

那么,如何使用“运行”->来运行程序而不进行调试呢?(注意,我可以通过命令"./programname“编译程序并在外部终端中运行它,我只是不能使用”运行而不调试“来运行它,因为我可以在Windows或Linux中这样做)

以下是一些更多的信息:

  1. 调试控制台输出:

代码语言:javascript
运行
复制
Warning: Debuggee TargetArchitecture not detected, assuming x86_64.
=thread-selected,id="1"
=library-unloaded,id="/Users/abc/vscode/cpp/cpp01/cpp01",target-name="/Users/abc/vscode/cpp/cpp01/cpp01",host-name="/Users/abc/vscode/cpp/cpp01/cpp01"
Loaded '/usr/lib/dyld'. Symbols loaded.
Loaded '/Users/abc/vscode/cpp/cpp01/cpp01'. Symbols loaded.
Loaded '/usr/lib/libc++.1.dylib'. Symbols loaded.
Loaded '/usr/lib/libSystem.B.dylib'. Symbols loaded.
Loaded '/usr/lib/libc++abi.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libcache.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libcommonCrypto.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libcompiler_rt.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libcopyfile.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libsystem_networkextension.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libsystem_notify.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libsystem_sandbox.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libsystem_secinit.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libsystem_kernel.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libsystem_platform.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libsystem_pthread.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libsystem_symptoms.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libsystem_trace.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libunwind.dylib'. Symbols loaded.
Loaded '/usr/lib/system/libxpc.dylib'. Symbols loaded.
Loaded '/usr/lib/libobjc.A.dylib'. Symbols loaded.
@"Enter Year: "

生成的

  1. task.json:

代码语言:javascript
运行
复制
{
    "tasks": [
        {
            "type": "shell",
            "label": "C/C++: clang++ build active file",
            "command": "/usr/bin/clang++",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "options": {
                "cwd": "${workspaceFolder}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ],
    "version": "2.0.0"
}

生成的launch.json:

代码语言:javascript
运行
复制
{
    // 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++ - Build and debug active file",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "lldb",
            "preLaunchTask": "C/C++: clang++ build active file"
        }
    ]
}

谢谢

EN

回答 1

Stack Overflow用户

发布于 2021-07-30 09:55:04

从外部控制台运行。在launch.json中:

"externalConsole":没错,

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64307083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档