VS Code 配置C++环境

6 阅读1分钟

VS Code 配置C++环境

问题描述:

undefined reference to `std::cin' collect2.exe: error: ld returned 1 exit status

原因:

错误 undefined reference to 'std::cin' 通常是由于链接器找不到标准库(如 iostream)的原因。

经过查找发现时配置文件中的默认配置编译器是gcc而不是c++所需要的g++

注意!!command路径那里改回自己的路径

tasks.json文件

`{

"tasks": [

{

"type": "cppbuild",

"label": "C/C++: gcc.exe build active file",

"command": "D:\Environment\msys2\ucrt64\bin\gcc.exe",

"args": [

"-fdiagnostics-color=always",

"-g",

"${file}",

"-o",

"{fileDirname}\{fileBasenameNoExtension}.exe"

],

"options": {

"cwd": "${fileDirname}"

},

"problemMatcher": [

"$gcc"

],

"group": {

"kind": "build",

"isDefault": true

},

"detail": "Task generated by Debugger."

},

{

"type": "cppbuild",

"label": "C/C++: g++.exe build active file",

"command": "D:\Environment\msys2\ucrt64\bin\g++.exe",

"args": [

"-fdiagnostics-color=always",

"-g",

"${file}",

"-o",

"{fileDirname}\{fileBasenameNoExtension}.exe"

],

"options": {

"cwd": "${fileDirname}"

},

"problemMatcher": [

"$gcc"

],

"group": "bulid",
"detail": "compiler: D:\Environment\msys2\ucrt64\bin*g++.exe*"

}

],

"version": "2.0.0"

}`

解决方法

将g++那里的配置 "isDefault"设置为true

`{

"tasks": [

{

"type": "cppbuild",

"label": "C/C++: gcc.exe build active file",

"command": "D:\Environment\msys2\ucrt64\bin\gcc.exe",

"args": [

"-fdiagnostics-color=always",

"-g",

"${file}",

"-o",

"{fileDirname}\{fileBasenameNoExtension}.exe"

],

"options": {

"cwd": "${fileDirname}"

},

"problemMatcher": [

"$gcc"

],

"group": {

"kind": "build",

"isDefault": false

},

"detail": "Task generated by Debugger."

},

{

"type": "cppbuild",

"label": "C/C++: g++.exe build active file",

"command": "D:\Environment\msys2\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": "compiler: D:\Environment\msys2\ucrt64\bin\g++.exe"

}

],

"version": "2.0.0"

}`# VS Code 配置C++环境

问题描述:

undefined reference to `std::cin' collect2.exe: error: ld returned 1 exit status

原因:

错误 undefined reference to 'std::cin' 通常是由于链接器找不到标准库(如 iostream)的原因。

经过查找发现时配置文件中的默认配置编译器是gcc而不是c++所需要的g++

注意!!command路径那里改回自己的路径

tasks.json文件

`{

"tasks": [

​ {

​ "type": "cppbuild",

​ "label": "C/C++: gcc.exe build active file",

​ "command": "D:\Environment\msys2\ucrt64\bin\gcc.exe",

​ "args": [

​ "-fdiagnostics-color=always",

​ "-g",

​ "${file}",

​ "-o",

​ "fileDirname{fileDirname}\\{fileBasenameNoExtension}.exe"

​ ],

​ "options": {

​ "cwd": "${fileDirname}"

​ },

​ "problemMatcher": [

​ "$gcc"

​ ],

​ "group": {

​ "kind": "build",

=="isDefault": true==

​ },

​ "detail": "Task generated by Debugger."

​ },

​ {

​ "type": "cppbuild",

​ "label": "C/C++: g++.exe build active file",

​ "command": "D:\Environment\msys2\ucrt64\bin\g++.exe",

​ "args": [

​ "-fdiagnostics-color=always",

​ "-g",

​ "${file}",

​ "-o",

​ "fileDirname{fileDirname}\\{fileBasenameNoExtension}.exe"

​ ],

​ "options": {

​ "cwd": "${fileDirname}"

​ },

​ "problemMatcher": [

​ "$gcc"

​ ],

=="group": "bulid"==,
"detail": "compiler: D:\Environment\msys2\ucrt64\bin\==g++.exe=="

​ }

],

"version": "2.0.0"

}`

解决方法

将g++那里的配置 =="isDefault"设置为true==

`{

"tasks": [

​ {

​ "type": "cppbuild",

​ "label": "C/C++: gcc.exe build active file",

​ "command": "D:\Environment\msys2\ucrt64\bin\gcc.exe",

​ "args": [

​ "-fdiagnostics-color=always",

​ "-g",

​ "${file}",

​ "-o",

​ "fileDirname{fileDirname}\\{fileBasenameNoExtension}.exe"

​ ],

​ "options": {

​ "cwd": "${fileDirname}"

​ },

​ "problemMatcher": [

​ "$gcc"

​ ],

​ "group": {

​ "kind": "build",

​ "isDefault": false

​ },

​ "detail": "Task generated by Debugger."

​ },

​ {

​ "type": "cppbuild",

​ "label": "C/C++: g++.exe build active file",

​ "command": "D:\Environment\msys2\ucrt64\bin\g++.exe",

​ "args": [

​ "-fdiagnostics-color=always",

​ "-g",

​ "${file}",

​ "-o",

​ "fileDirname{fileDirname}\\{fileBasenameNoExtension}.exe"

​ ],

​ "options": {

​ "cwd": "${fileDirname}"

​ },

​ "problemMatcher": [

​ "$gcc"

​ ],

​ "group": {

​ "kind": "build",

​ "isDefault": true

​ },

​ "detail": "compiler: D:\Environment\msys2\ucrt64\bin\g++.exe"

​ }

],

"version": "2.0.0"

}`