【发布时间】:2020-10-11 17:32:35
【问题描述】:
Mac 操作系统:Catalina 10.15.7
重现问题的步骤:
-
在 Mac 中安装 Xcode 和 vs code。
-
在 vs 代码中安装 c++ 扩展。
-
创建一个名为 cpp01 的文件夹。
-
在 vs code 中打开该文件夹。
-
创建一个名为 cpp01.cpp 的文件并将以下内容复制到该文件中。
#include <iostream>
using namespace std;
int main() {
int intYear;
cout << "Enter Year: ";
cin >> intYear;
cout << "You have entered year: " << intYear << "\n";
}
-
选择“运行”->“不调试运行”
-
选择“C++ (GDB/LLDB)”
-
选择“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)
这些是更多信息:
- 调试控制台输出:
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: "
- 生成的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"
}
- 生成的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