Bonsoir / Bonjour tout le monde,
Je vais vous exposer mon petit problème vite fait, bien fait
J'essaie d'utiliser la librairie "libmediainfo", j'ai tout installé depuis ici (libzen0, libzen0-dev, libmediainfo0, libmediainfo0-dev )et le linkage semble bien se dérouler, sauf que lorsque j'essaie de faire appel à une fonction telle Open(.....) comme dans le code qui suit :
Je compile avec ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 #include <string> #include <stdlib.h> #include <stdio.h> #include "MediaInfo/MediaInfo.h" using namespace MediaInfoLib; int main (int argc, char *argv[]) { MediaInfo MI; MI.Open(_T("test_la_con")); // comme dans dans le HowToUse.cpp return 0; }
j'ai ce message d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 g++ -c test.cpp && g++ -o test test.o -lmediainfo -lzen
j'ai bien vérifié dans le MediaInfo.h que la fonction Open existe bel et bien, et ce n'est pas un problème de linkage vu que la fonction Close() de la même classe MediaInfo ne génère pas d'erreur de compilation.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 test.cpp:(.text+0x4f): undefined reference to `MediaInfoLib::MediaInfo::Open(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' collect2: ld returned 1 exit status
MediaInfo.h
MediaInfo_Const.h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ........ size_t Open (const String &File_Name); ........
donc dans mon cas, le MediaInfoLib:String n'est qu'un std::basic_string<char>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 .............................. //Char types #undef _T #define _T(__x) __T(__x) #if defined(UNICODE) || defined (_UNICODE) typedef wchar_t Char; #undef __T #define __T(__x) L ## __x #else typedef char Char; #undef __T #define __T(__x) __x #endif typedef std::basic_string<MediaInfoLib::Char> String; ................................
Mon système : Ubuntu 10.04
Je vous remercie d'avance.
PS : même si je prends leur exemple comme il est, j'ai toujours ce message d'erreur![]()
Partager