Débutant - Fonctionnement de #include "maFonction.h&quo
Bonjour à tous,
Je suis débutant, et je m'appuie sur "C++ pour les nuls" pour appréhender ce langage. Je suis sous linux (Fedora) 2.6.16-1.2069_FC4.
Je ne parviens pas à utiliser convenablement la directive #include.
J'ai consulté la FAQ (http://c.developpez.com/faq/cpp/?pag...SS_header_cpp), mais cela ne répond pas à mon problème. :(
J'ai créé un fichier .h :
Code:
1 2 3 4 5 6 7 8
| // gestab.h
// Prototype pour les fonctions contenues dans gestab.cpp
#include <iostream.h>
#include <stdlib.h>
int nbLignesTableau(int &);
void rempliTableau(float [], const int &);
void afficheTableau(const float [], const int &); |
J'ai créé un fichier .cpp contenant les fonctions :
Code:
1 2 3 4 5 6 7 8 9 10
| // gestab.cpp
// Librairie des fonctions définies par gestab.h
#include <iostream.h>
#include <stdlib.h>
#include "lib/gestab.h" (j'ai aussi essayé sans cette ligne)
int nbLignesTableau(int &nbVal) {...}
void rempliTableau(float a[], int &nbval) {...}
void afficheTableau(float a[], int &nbval) {...} |
et enfin le fichier .cpp qui contient le main() et l'include :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| // ex51
// test
#include <iostream.h>
#include <stdlib.h>
#include "lib/gestab.h"
int main(int intArgc, char* pszArgs[])
{
int nbValeurs;
nbValeurs = nbLignesTableau(nbValeurs);
float a[nbValeurs];
rempliTableau(a, nbValeurs);
afficheTableau(a, nbValeurs);
return 0;
} |
Mais lorsque je compile (g++ -o $FIC -Wno-deprecated $FIC.cpp), je récupère l'erreur suivante :
Code:
1 2 3 4 5
| /tmp/ccGaXX59.o(.text+0x29): In function `main':
ex51.cpp: undefined reference to `nbLignesTableau(int&)'
/tmp/ccGaXX59.o(.text+0x6f):ex51.cpp: undefined reference to `rempliTableau(float*, int const&)'
/tmp/ccGaXX59.o(.text+0x82):ex51.cpp: undefined reference to `afficheTableau(float const*, int const&)'
collect2: ld a retourné 1 code d'état d'exécution |
Je crois comprendre que le fichier .h est bien lu, mais pas le fichier contenant les fonctions externalisées. Comment corriger cet erreur ? (à moins qu'il ne s'agisse d'une autre erreur...)
Merci d'avance pour vos conseils et vos idées.
Re: Débutant - Fonctionnement de #include "maFonction.h
<tu ne vas pas aimer ma réponse=on>
Citation:
Envoyé par imedul
, et je m'appuie sur "C++ pour les nuls" pour appréhender ce langage.
Fais-toi rembourser, et consulte les archives pour des références de bons livres.
</>
Re: Débutant - Fonctionnement de #include "maFonction.h
Citation:
Envoyé par Luc Hermitte
<tu ne vas pas aimer ma réponse=on>
Citation:
Envoyé par imedul
, et je m'appuie sur "C++ pour les nuls" pour appréhender ce langage.
Fais-toi rembourser, et consulte les archives pour des références de
bons livres.
</>
J'allais le dire: mauvais livre? Changer de livre...
->Je me lance de Francis Glassborow que l'on peut trouver chez microapplication ou a la fnac
->Accelerated C++ de Koenig et Moo