Qui a deja utilisé les lib Boost ?

Qui a deja utilisé les lib Boost ? - C++ - Programmation

Marsh Posté le 04-05-2003 à 01:01:20    

Salut,
pour l'ecole je dois faire l'etude des librairies boost (www.boost.org). Est ce que qq s'en ai deja servi parsque j'ai qq probleme pour les threads qui ne fonctionnent ni sous win ni sous linux et d'autres probs.
Fau-il faire qqchose de special pr les threads ??
Merci d'avance  
Manu

Reply

Marsh Posté le 04-05-2003 à 01:01:20   

Reply

Marsh Posté le 04-05-2003 à 01:10:50    

Etant donné que ces libs sont largement utilisées, je pense que tu dois faire un truc de travers.

Reply

Marsh Posté le 04-05-2003 à 07:32:56    

fonctionne tres bien chez moi

Reply

Marsh Posté le 04-05-2003 à 12:23:46    

Je ne pense pas vu que je reprend les exemples des threads du site web....
Il n'y a rien a faire de special pr faire fonctionner les threads ?

Reply

Marsh Posté le 04-05-2003 à 12:25:43    

tu as essayé de prendre les sources et de les compiler toi meme?
 
comment se passe la compialtion des exemple? l'exécution?

Reply

Marsh Posté le 04-05-2003 à 14:16:30    

Non je n'ai pas encore essayer de les compiler, voici les erreurs que j'ai:
Sous linux:
root@manu manu # g++ -I /home/manu/boost_1_30_0 thread.cpp
/tmp/ccWAbAOa.o(.text+0x76): In function `main':
: undefined reference to `boost::thread::thread[in-charge](boost::function0<void, std::allocator<boost::function_base> > const&)'
/tmp/ccWAbAOa.o(.text+0xad): In function `main':
: undefined reference to `boost::thread::join()'
/tmp/ccWAbAOa.o(.text+0xc0): In function `main':
: undefined reference to `boost::thread::~thread [in-charge]()'
/tmp/ccWAbAOa.o(.text+0xd9): In function `main':
: undefined reference to `boost::thread::~thread [in-charge]()'
/tmp/ccWAbAOa.o(.gnu.linkonce.t._ZN12thread_alarmclEv+0x15): In function `thread_alarm::operator()()':
: undefined reference to `boost::xtime_get(boost::xtime*, int)'
/tmp/ccWAbAOa.o(.gnu.linkonce.t._ZN12thread_alarmclEv+0x34): In function `thread_alarm::operator()()':
: undefined reference to `boost::thread::sleep(boost::xtime const&)'
collect2: ld returned 1 exit status
 
 
SOus win avec VS.NET:
boost2 error LNK2001: symbole externe non résolu "int __cdecl boost::xtime_get(struct boost::xtime *,int)" (?xtime_get@boost@@$$FYAHPAUxtime@1@H@Z)
boost2 error LNK2001: symbole externe non résolu "public: __thiscall boost::thread::~thread(void)" (??1thread@boost@@$$FQAE@XZ)
boost2 error LNK2001: symbole externe non résolu "public: __thiscall boost::thread::~thread(void)" (??1thread@boost@@QAE@XZ)
boost2 error LNK2001: symbole externe non résolu "public: static void __cdecl boost::thread::sleep(struct boost::xtime const &)" (?sleep@thread@boost@@$$FSAXABUxtime@2@@Z)
boost2 error LNK2001: symbole externe non résolu "public: __thiscall boost::thread::thread(class boost::function0<void,int> const &)" (??0thread@boost@@$$FQAE@ABV?$function0@XH@1@@Z)
boost2 error LNK2001: symbole externe non résolu "public: void __thiscall boost::thread::join(void)" (?join@thread@boost@@$$FQAEXXZ)
boost2 fatal error LNK1120: 6 externes non résolus
 
 
 
Apparement il s'agit du meme prob dans les 2 cas pourtant il trouve bien les fichier header....


Message édité par djmanu22 le 04-05-2003 à 14:17:12
Reply

Marsh Posté le 04-05-2003 à 15:21:26    

lit la doc, tout est expliqué pour la compilation, ton problème étant que tu ne fais pas le link avec la bibliothèque

Reply

Marsh Posté le 04-05-2003 à 15:42:45    

Oki j'ai recompiler les lib pour les threads.
Maintenant, comment les linker avec mon prog (quel paramètre à passer à gcc et vc7 ?)?

Reply

Marsh Posté le 04-05-2003 à 15:50:31    

RTFM²

Reply

Marsh Posté le 05-05-2003 à 14:01:38    

J'ai tout recompiler avec les ports gentoo mais j'ai tjs ce probleme avec les threads:
 
manu@manu manu $ c++ thread.cpp
/tmp/ccIVHPuu.o(.text+0x6e): In function `main':
: undefined reference to `boost::thread::thread[in-charge](boost::function0<void, boost::empty_function_policy, boost::empty_function_mixin, std::allocator<boost::function_base> > const&)'
/tmp/ccIVHPuu.o(.text+0xa5): In function `main':
: undefined reference to `boost::thread::join()'
/tmp/ccIVHPuu.o(.text+0xb8): In function `main':
: undefined reference to `boost::thread::~thread [in-charge]()'
/tmp/ccIVHPuu.o(.text+0xd1): In function `main':
: undefined reference to `boost::thread::~thread [in-charge]()'
/tmp/ccIVHPuu.o(.gnu.linkonce.t._ZN12thread_alarmclEv+0x15): In function `thread_alarm::operator()()':
: undefined reference to `boost::xtime_get(boost::xtime*, int)'
/tmp/ccIVHPuu.o(.gnu.linkonce.t._ZN12thread_alarmclEv+0x34): In function `thread_alarm::operator()()':
: undefined reference to `boost::thread::sleep(boost::xtime const&)'
collect2: ld returned 1 exit status
manu@manu manu $
 
Je ne vois nulle part ce type d'erreur sur leur site, tu ne peux pas m'aider ?

Reply

Marsh Posté le 05-05-2003 à 14:01:38   

Reply

Marsh Posté le 05-05-2003 à 14:11:36    

RTFM^3

Reply

Marsh Posté le 05-05-2003 à 14:19:01    

ahhhhh j'ai trouvé c'était  
g++ foo.cpp -lboost_thread -lpthread
 
 
Merci qd meme :-)

Reply

Marsh Posté le 05-05-2003 à 14:19:33    

:whistle:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed