在参考VS Code 配置 C/C++ 编程运行环境(保姆级教程)安装后,vscode只能运行.c程序,而无法运行.cpp程序,报错信息如下所示:
报错原因: 编辑器未链接C++标准库,导致无法生成exe文件,下面提供两种解决方法。
方法一:手动添加-lstdc++参数
在tasks.json
配置文件中加入-lstdc++
参数,明确告诉编译器链接C++标准库。
注意:在"${fileDirname}\\${fileBasenameNoExtension}.exe"
后需要加入逗号将参数分隔。
修改后的tasks.json
配置文件如下:
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: gcc.exe 生成活动文件",
"command": "D:\\software\\msys64\\ucrt64\\bin\\gcc.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe",
"-lstdc++"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
}
],
"version": "2.0.0"
}
成功运行:
方法二
方法一中使用的是gcc编译器,默认情况下gcc不会自动链接 C++标准库,因此需要手动添加-lstdc++参数。而g++编译器在编译C++代码时会自动链接C++标准库。因此,只需将编译器改为g++即可。将"command": "D:\\software\\msys64\\ucrt64\\bin\\gcc.exe"
改为"command": "D:\\software\\msys64\\ucrt64\\bin\\g++.exe"
。
注意:路径应改成自己的安装路径。
修改后的tasks.json
配置文件如下:
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: gcc.exe 生成活动文件",
"command": "D:\\software\\msys64\\ucrt64\\bin\\g++.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
}
],
"version": "2.0.0"
}
成功运行: