【发布时间】:2020-03-28 19:35:17
【问题描述】:
我正在尝试使用 VS Code 编译一些 C++ 代码,但在使用不同的 C++ 版本时遇到了一些问题。我想用-std=c++17 选项编译它,因为有些东西我只需要在 C++17 中测试工作(默认情况下,Clang 使用 C++14)。
因此,我尝试编辑我的 tasks.json 文件以手动添加使用 C++17 的选项。然而,即使在这样做之后似乎也没有任何效果。
最初,我只为 g++ 构建活动文件编辑了options 部分,但是,由于它似乎不起作用,我将该选项添加到所有任务中。不幸的是,这也没有帮助。你能告诉我我到底在哪里犯了错误吗?
您可以在下面找到 tasks,json 文件的 tasks 部分。
"tasks": [
{
"type": "shell",
"label": "clang build active file",
"command": "/usr/bin/clang",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}",
"-std=c++17"
],
"options": {
"cwd": "/usr/bin"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
}
},
{
"type": "shell",
"label": "clang build active file",
"command": "/usr/bin/clang",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}",
"-std=c++17"
],
"options": {
"cwd": "/usr/bin"
},
"problemMatcher": [
"$gcc"
],
"group": "build"
},
{
"type": "shell",
"label": "g++ build active file",
"command": "/usr/bin/g++",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}",
"-std=c++17"
],
"options": {
"cwd": "/usr/bin"
},
"problemMatcher": [
"$gcc"
],
"group": "build"
}
]
【问题讨论】:
-
“似乎没有任何效果”和“也没有用”到底是什么意思?编译失败了吗?您在 VS Code 的控制台输出中收到了哪些错误或日志消息?你是如何执行任务的? (任务:运行任务> g++ 构建活动文件)?您是否尝试过在 VS Code 之外运行
g++命令以确认它可以在您的机器上正确编译? -
VS Code 中的标准编译(-std=c++11 及更早版本)以及终端中的编译工作正常。不过我找到了解决问题的方法,所以我想我会自己发布答案
标签: visual-studio-code compilation g++ clang