comment utiliser une library C avec g++
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 :
Code:
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;
} |
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
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 :
Code:
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 |
j'utilise mandriva 2007 et g++ v 4.2.2
Quelqu'un voit où est-ce que je fais faux pas?