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 :
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;
}
Je compile avec ça :
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 ce message d'erreur :
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
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.

MediaInfo.h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
........
size_t Open (const String &File_Name);
........
MediaInfo_Const.h
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;
................................
donc dans mon cas, le MediaInfoLib:String n'est qu'un std::basic_string<char>

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