Bonjour.

J'utilise depuis peu boost::threads et je tombe sur une curieuse erreur.

J'ai un fichier wheels.cpp qui inclus un fichier wheels.h

le fichier wheel. h commence comme ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
#ifndef WHEELS_H_INCLUDED
#define WHEELS_H_INCLUDED
 
 
#include <boost/thread/thread.hpp>
lorsque je compile wheels.cpp indépendamment (sous code::blocks avec gcc sous ubuntu), tout se passe bien.

par contre, lorsque je compile le programme en entier, j'obtiens l'erreur suivante:
Compiling: main.cpp
In file included from /usr/include/c++/4.3/cstdlib:49,
from /usr/local/include/boost-1_38/boost/config/platform/linux.hpp:14,
from /usr/local/include/boost-1_38/boost/config.hpp:53,
from /usr/local/include/boost-1_38/boost/thread/detail/platform.hpp:14,
from /usr/local/include/boost-1_38/boost/thread/thread.hpp:12,
from /media/disk/.../wheels.h:23,
from /media/disk/.../bot_base.h:7,
from /media/disk/.../bart_pos.h:26,
from /media/disk/.../main.cpp:2:
/usr/include/c++/4.3/cstddef:55: erreur: ‘::ptrdiff_t’ has not been declared
/usr/include/c++/4.3/cstddef:56: erreur: ‘::size_t’ has not been declared
In file included from /usr/local/include/boost-1_38/boost/config/platform/linux.hpp:14,
from /usr/local/include/boost-1_38/boost/config.hpp:53,
from /usr/local/include/boost-1_38/boost/thread/detail/platform.hpp:14,
from /usr/local/include/boost-1_38/boost/thread/thread.hpp:12,
from /media/disk/.../wheels.h:23,
from /media/disk/.../bot_base.h:7,
from /media/disk/.../bart_pos.h:26,
from /media/disk/.../main.cpp:2:
/usr/include/c++/4.3/cstdlib:107: erreur: ‘::div_t’ has not been declared
/usr/include/c++/4.3/cstdlib:108: erreur: ‘::ldiv_t’ has not been declared
/usr/include/c++/4.3/cstdlib:110: erreur: ‘::abort’ has not been declared
/usr/include/c++/4.3/cstdlib:111: erreur: ‘::abs’ has not been declared
....
et j'obtient comme cela une centaine d'erreur suite à quoi la compilation plante...

Ce qui est curieux, c'est qu'il passe par le thread.hpp inclus dans wheels.h pour me désigner cette erreur.

d'autre part, j'ai d'autres programmes qui utilisent thread.hpp qui fonctionnement parfaitement...

bref, je n'ai pas la queue d'une idée pour expliquer et résoudre ce problème.

si vous pouviez m'éclairer...

merci