Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1686 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Découpe d'un programme c++

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Découpe d'un programme c++

n°2269585
ziad-k
Posté le 13-11-2015 à 00:57:52  profilanswer
 

Bonsoir,  
donc j'ai trois fichiers fonction.cpp somme.cpp & somme.h  
fonction.cpp  
 
 
#include<iostream>
#include<fstream>
#include"somme.h"
 
using namespace std;
 
int main(void){
int a=5,b=3;
int c=sommedexety(a,b);
cout <<  "somme = " << c << endl;
 
return 0;
}
 
somme.cpp  
 
#include"somme.h"
int sommedexety(int a,int b) {
return a+b;
}
 
 
somme.h
 
#ifndef SOMME_H_INCLUDED
#define SOMME_H_INCLUDED
int sommedexety(int a,int b);
#endif // SOMME_H_INCLUDED
 
lorsque je compile avec " c++ -Wall -Wextra fonction.cpp -o fonction " c'est peut etre pas la bonne syntaxe mais j'obtiens comme message d'erreur
 
/tmp/ccsC70X1.o: dans la fonction <<main>>:
fonction.cpp:(.text+0x29): référence indéfinie vers <<sommedexety(int, int)>>
collect2: error: ld returned 1 exit status
 
sachant que je bosse sur une VirtualBox installée sur une clé.
 
Merci pour votre aide

mood
Publicité
Posté le 13-11-2015 à 00:57:52  profilanswer
 

n°2269599
gilou
Modérateur
Modzilla
Posté le 13-11-2015 à 12:38:20  profilanswer
 

ben tu compiles pas somme.cpp avec ta ligne de commande, donc pas étonnant que le linker râle.
 
sous g++ je ferais
g++ -Wall -o fonction.exe fonction.cpp somme.cpp
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2269618
ziad-k
Posté le 13-11-2015 à 19:50:06  profilanswer
 

Effectivement, même en essayant de préalablement compilé somme.cpp, ça ne marche pas. Toutefois avec codeblocks ça fonctionne, Merci en tout les cas  

n°2269620
gilou
Modérateur
Modzilla
Posté le 13-11-2015 à 20:48:45  profilanswer
 

Si tu veux compiler un a un:
g++ -Wall -c somme.cpp
g++ -Wall -c fonction.cpp
g++ -Wall -o fonction.exe fonction.o somme.o  
 
Ou un mix des deux:
g++ -Wall -c somme.cpp
g++ -Wall -o fonction.exe fonction.cpp somme.o  
 
De toute façon, dans la phase finale, au moment du link, on va linker fonction.o et somme.o (qui auront été créés, de manière explicite, ou implicite) pour générer l'exécutable.
La seule différence entre la première et la seconde méthode ci-dessus, c'est que dans la première je demande de façon explicite de compiler somme.cpp et fonction.cpp comme modules objets (.o) et ils seront encore la après la phase de link et la génération de l'exécutable, tandis que dans la seconde, je demande de façon explicite de compiler somme.cpp comme module objet et de façon implicite (et donc temporaire) pour fonction.cpp, et après la phase de link et la génération de l'exécutable, somme.o sera encore la, mais fonction.o aura été effacé.
 
A+,


Message édité par gilou le 13-11-2015 à 21:00:52

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2269623
ziad-k
Posté le 13-11-2015 à 21:22:13  profilanswer
 

ça fonctionne ! en fait je croyais que j'avais que c++ comme compilateur (ce que le prof a dit) ça marche egalement avec g++.  
Thanks ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Découpe d'un programme c++

 

Sujets relatifs
[Divers]Création d'un programme pour tester connaissances linguistiqueAppel concurent de procedure stocké oracle dans mon programme java
[Resolu]Get_line en début de programmePouvez-vous me faire un petit programme a la con contre €€
Programme qui se déplace tout seul.Programme qui fonctionne via l'interpreteur mais pas via console linux
Petit programme "anti-bruit"programme qui génère un mot de passe
Besoin d'un logiciel ou d'un programme[C++] Découpe d'un programme en plusieurs fichiers
Plus de sujets relatifs à : Découpe d'un programme c++


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR