【问题标题】:Unable to cin or cout in vscode on Mac OS无法在 Mac OS 上的 vscode 中进行 cin 或 cout
【发布时间】:2020-10-11 17:32:35
【问题描述】:

Mac 操作系统:Catalina 10.15.7

重现问题的步骤:

  1. 在 Mac 中安装 Xcode 和 vs code。

  2. 在 vs 代码中安装 c++ 扩展。

  3. 创建一个名为 cpp01 的文件夹。

  4. 在 vs code 中打开该文件夹。

  5. 创建一个名为 cpp01.cpp 的文件并将以下内容复制到该文件中。

#include <iostream>

using namespace std;

int main() {
    int intYear;
    cout << "Enter Year: ";
    cin >> intYear;
    cout << "You have entered year: " << intYear << "\n";
}
  1. 选择“运行”->“不调试运行”

  2. 选择“C++ (GDB/LLDB)”

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

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

Enter Year:

那我应该可以输入年份了。

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

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 OS 中完全不同。

那么,如何使用“运行”->“运行而不调试”来运行程序? (注意,我可以使用命令“./programname”编译程序并在外部终端中运行它,我只是无法使用“不调试运行”来运行它,我可以在 Windows 或Linux)

这些是更多信息:

  1. 调试控制台输出:
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:
{
    "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"
}
  1. 生成的launch.json:
{
    // 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"
        }
    ]
}

谢谢

【问题讨论】:

标签: c++ macos visual-studio-code


【解决方案1】:

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

“外部控制台”:真,

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-06
    相关资源
    最近更新 更多