salut à tous,
j'essais de faire un truc tout bete : utiliser des fonctions d'une bibliotheque, mais voilà, je n'arrive pas à utiliser cette bibliotheque avec g++!
en fait j'essais d'utiliser la library de cdparanoia.
voici le petit programme que je veux compiler :
donc j'essais juste d'appeler une des fonctions de la bibliotheque, ça ne sert a rien, mais c'est juste pour tester l'appel de fonction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 #include <stdio.h> #include <stdlib.h> #include <cdda_interface.h> #include <cdda_paranoia.h> int main(){ puts("calling library function test"); cdrom_drive *d=NULL; d=cdda_identify(NULL,CDDA_MESSAGE_PRINTIT,NULL); return 0; }
si je nomme le fichier testParano.c et que j'essais de le compiler avec gcc de la manière suivante tout marche :
gcc testParano.c -o testParano -lcdda_interface -lcdda_paranoia -lm
ça compile, et ça s'exécute normalement!
par contre si je nomme le fichier testParano.cc ou testParano.cpp et que j'essais de le compiler avec g++ (ou meme avec gcc) ça ne fonctionne pas, j'obtiens le retour suivant :
j'utilise mandriva 2007 et g++ v 4.2.2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $ g++ testParano.cpp -o testParano -lcdda_interface -lcdda_paranoia -lm /home/user1/tmp/cc8CaYsg.o: In function `main': testParano.cpp:(.text+0x3c): undefined reference to `cdda_identify(char const*, int, char**)' collect2: ld a retourné 1 code d'état d'exécution
Quelqu'un voit où est-ce que je fais faux pas?
Partager