【发布时间】:2018-04-26 22:29:03
【问题描述】:
有谁知道为什么 vs-code 找不到 c++ 编译器。我已经使用 vc-code 几个月没有任何问题,但突然没有任何明确的原因它再也找不到编译器了!这里有人能弄清楚是什么原因造成的吗?
tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "echo",
"type": "shell",
"command":"g++ $(pkg-config --cflags --libs opencv gl glew sdl2)",
"args": ["-g", "${workspaceFolder}/*.cpp", "-lstdc++fs", "-pthread"],
"group":{
"kind": "build",
"isDefault": true
}
}
]
}
c_cpp_properties.json
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}",
"/usr/include/c++/6.3.0",
"/usr/include/c++/6",
"/usr/include/x86_64-linux-gnu/c++/6",
"/usr/include/c++/6/backward",
"/usr/lib/gcc/x86_64-linux-gnu/6/include",
"/usr/local/include",
"/usr/lib/gcc/x86_64-linux-gnu/6/include-fixed",
"/usr/include/x86_64-linux-gnu",
"/usr/include",
"/usr/bin"
],
"defines": [],
"intelliSenseMode": "clang-x64",
"browse": {
"path": [
"${workspaceFolder}",
"/usr/include/c++/6.3.0",
"/usr/include/c++/6",
"/usr/include/x86_64-linux-gnu/c++/6",
"/usr/include/c++/6/backward",
"/usr/lib/gcc/x86_64-linux-gnu/6/include",
"/usr/local/include",
"/usr/lib/gcc/x86_64-linux-gnu/6/include-fixed",
"/usr/include/x86_64-linux-gnu",
"/usr/include",
"/usr/bin"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
},
"compilerPath": "/usr/bin/gcc",
"cStandard": "c11",
"cppStandard": "c++17"
}
],
"version": 3
}
输出
/bin/bash: g++ $(pkg-config --cflags --libs opencv gl glew sdl2): command not found
注意:我还是可以用g++在vs-code的集成终端编译文件,但是tasks.json不能识别!!!
【问题讨论】:
-
看起来你在“命令”中的“g++”之后有一个额外的空格......我猜VS Code不会在那里去除空格。
-
实际上,在我删除了多余的空间后,该特定示例的效果非常好,但现在当我为编译器提供更多选项时,我遇到了同样的问题。我已经编辑了帖子
-
... 为什么要将参数放在
command而不是args? -
我不认为这可能与这个问题有关,因为我已经这样使用它很长时间了,没有任何问题。一般来说,在编译过程中,所有这些部分都会被剪辑在一起。
-
您可能还想配置和/或启用 g++。然后也包含它的路径“/usr/lib/g++/x86_64-linux-gnu/6/include”,.....
标签: linux visual-studio-code g++ vscode-settings vscode-tasks