Bonjour,
Je travaille avec les sources de Lame (encodeur-décodeur multimédia) qui sont open source.
J'ai cependant un problème lorsque je souhaite les intégrer à mon projet.
J'utilise la bibliotheque libmp3lame (chez moi ../libs/lame-3.97/libmp3lame/) que je compile avec -L../libs/lame-3.97/libmp3lame/.libs/ -lmp3lame, ca marche nickel.
J'ai besoin aussi des fichiers frontend (../libs/lame-3.97/frontend/), et c'est la que ca ne marche pas. (Le repertoire frontend/.libs/ est vide...)
A la ligne de compilation suivante (j'utilise un Makefile mais je vous mets ce qui plante)
J'obtiens l'erreur suivante :arm-linux-g++ -Wall -fsigned-char cgi_maj.o generation_form.o init.o mise_a_jour.o ../libs/obj_files/clientsocket.o ../libs/obj_files/socket.o
../libs/lame-3.97/frontend/get_audio.o ../libs/lame-3.97/frontend/portableio.o ../libs/lame-3.97/frontend/brhist.o ../libs/lame-3.97/frontend/lametime.o ../libs/lame-3.97/frontend/timestatus.o ../libs/lame-3.97/frontend/parse.o
../libs/tinyxml/tinystr.o ../libs/tinyxml/tinyxml.o ../libs/tinyxml/tinyxmlerror.o ../libs/tinyxml/tinyxmlparser.o
-L../libs/cgicc-3.2.3/cgicc/.libs/ -lcgicc -L../libs/lame-3.97/libmp3lame/.libs/ -lmp3lame
-o cgi-bin/cgi_generation_arm.cgi
Je sais que ca provient d'une erreur de lien avec la bibliotheque, mais je ne sais pas laquelle j'ai besoin, je ne connais pas son nom...mise_a_jour.o(.text+0x30d0): In function `MiseAJour::encodeWavToMp3(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
: undefined reference to `init_infile(lame_global_struct*, char*)'
mise_a_jour.o(.text+0x3100): In function `MiseAJour::encodeWavToMp3(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
: undefined reference to `init_outfile(char*, int)'
mise_a_jour.o(.text+0x3188): In function `MiseAJour::encodeWavToMp3(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
: undefined reference to `get_audio(lame_global_struct*, int (*) [1152])'
collect2: ld returned 1 exit status
make: *** [bin] Erreur 1
Partager