Solución:
en tasks.json:
"label": "g++.exe build active file",
"args": [
"-g",
"${fileDirname}\**.cpp",
//"${fileDirname}\**.h",
"-o",
"${fileDirname}\${fileBasenameNoExtension}.exe",
],
en launch.json:
"preLaunchTask": "g++.exe build active file"
funcionará si sus fuentes están en una carpeta separada
sintiendo pereza,
Este es tasks.json de vscode para distribuciones de Linux, para compilar múltiples archivos cpp.
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "C/C++: g++ build active file",
"command": "/usr/bin/g++",
"args": [
"-g",
"${fileDirname}/*.cpp",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "/usr/bin"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
Si tiene varios archivos y uno depende de un cpp
archivo para otro, necesita decirle a g ++ que lo compile también, para que el enlazador pueda encontrarlo. La forma más sencilla sería:
$ g++ Cat.cpp main.cpp -o Classes
Como nota al margen, probablemente debería compilar con advertencias, como mínimo -Wall
, probable -Wextra
, y posiblemente -Wpedantic
, para que sepa si algo que está haciendo es problemático.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)