IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Vs Codium compile un multiple fichier cpp


Sujet :

C++

  1. #1
    Membre régulier Avatar de IlGi256
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2020
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2020
    Messages : 6
    Par défaut Vs Codium compile un multiple fichier cpp
    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 ?

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 094
    Billets dans le blog
    146
    Par défaut
    Bonjour,

    Dans un tel cas, je pense que le plus approprié serait de se tourner vers un Makefile, ou encore mieux, vers CMake.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Membre actif

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2023
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2023
    Messages : 69
    Par défaut
    Bizarre. Il y a 2 fichiers Addition.cpp avec deux codes différents et pas de fichier Liens.cpp.
    Peut-être une erreur d'inclusion de fichiers.

Discussions similaires

  1. Réponses: 0
    Dernier message: 19/04/2012, 12h47
  2. Import de fichiers .cpp après compilation
    Par Ced_Cuz dans le forum C#
    Réponses: 3
    Dernier message: 18/10/2010, 13h25
  3. Réponses: 10
    Dernier message: 26/03/2009, 10h15
  4. Modification/Compilation d'un fichier .cpp
    Par johnstyle dans le forum C++
    Réponses: 2
    Dernier message: 06/01/2008, 00h37
  5. Réponses: 3
    Dernier message: 12/07/2006, 22h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo