Bonjour,

Sur linux mint, j'ai installé VS Codium pour programmer en c++ qui est le clone de VS code.
J'ai installé les extensions suivantes pour compiler du code c++

- C/C++ config
- C/C++ Project Générator
- C/C++ Runner
- Code Runner
- CodeLLDB

- Avec ses extensions je parviens à compiler du code mono fichier cpp, ou avec un fichier cpp + un fichier .h.
Mais je n'arrive pas compiler un code à multiple fichier cpp tel Addition.cpp, Liens.h, Programme.cpp.

Fichier Addition.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
#include <iostream>
#include "Liens.h"
 
/*Création d'une fonction mathématique d'addition*/
int Addition(int I_NombreA, int I_NombreB){
 
     return I_NombreA + I_NombreB;
 
}/*Fin : Création d'une fonction mathématique d'addition*/
Lien.h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
#ifndef LIENS_H
#define LIENS_H
 
//#define MON_NUMERO_FAVORI 3
 
/*Création et initialisation de la fonction mathématique Addition contenu dans un autre fichier*/
int Addition(int I_NombreA, int I_NombreB);
 
#endif
Addition.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
#include <iostream> /*Librairie pour les fonctions cout, endl*/
#include "Liens.h"
 
using std::cout;
using std::endl;
 
/*Programme*/
int main(){
 
     int I_NombreA{10}, I_NombreB{20},I_Resultat{0};
 
     I_Resultat = Addition(I_NombreA, I_NombreB);
 
     cout << I_Resultat << endl;
 
     return 0;
 
}/*Fin : Programme*/
Lors de la compilation j'obtiens dans le terminal des erreurs
/usr/bin/ld : /tmp/ccyPaCZW.o : dans la fonction « main » :
Programme.cpp.text+0x2c) : référence indéfinie vers « Addition(int, int) »
collect2: error: ld returned 1 exit status
Je pense que c'est un probleme de configuration.
J'ai tenté de configurer le fichier task.json

task.json
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": "msbuild",
            "args": [
                // Ask msbuild to generate full paths for file names.
                "/property:GenerateFullPaths=true",
                "/t:build",
                // Do not generate summary otherwise it leads to duplicate errors in Problems panel
                "/consoleloggerparameters:NoSummary"
            ],
            "group": "build",
            "presentation": {
                // Reveal the output only if unrecognized errors occur.
                "reveal": "silent"
            },
            // Use the standard MS compiler pattern to detect errors, warnings and infos
            "problemMatcher": "$msCompile"
        }
    ]
}
Une astuce est de mettre une modification dans les options de task.json.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
"arg"[
    ...
   "${file}",
    "-o", 
    "${fileDirname}/${fileBasenameNoExtension}"
]
par
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
"arg"[
    ...
    "${workspaceFolder}/*.cpp"
    "-o", 
    "${fileDirname}/${fileBasenameNoExtension}"
]
Sauf que dans mon task.json, je n'ai pas les options de "file".

Pouvez-vous m'aider à bien configurer vs codium pour que je puisse compiler des multiples fichiers .cpp avec gcc de linux ?