Bonjour,

J'ai un soucis lors de la compilation de mon application : j'ai un bon paquet d'erreurs de type

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
/***/ace/SString.inl: In member function `void ACE_Auto_String_Free::reset(char*)':
/***/ace/SString.inl:252: erreur: « MEM_Free » n'est pas un membre de « ACE_OS »
 
...
 
/***/ace/String_Base.cpp:138: erreur: « class ACE_Allocator » n'a pas de membre nommé « MEM_Malloc »
/***/ace/String_Base.cpp:142: erreur: « class ACE_Allocator » n'a pas de membre nommé « MEM_Free »
Pourtant, dans mon code, je n'ai aucune fonction nommé MEM_Free, ou MEM_Malloc, et les erreurs pointent sur ces lignes :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
ACE_Auto_String_Free::reset (char* p)
{
  ACE_OS::free (this->p_);        /* la premiere erreur pointe ici */
  this->p_ = p;
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
ACE_ALLOCATOR (temp,
                     (CHAR *) this->allocator_->malloc (new_buf_len * sizeof (CHAR)));        /* ici une erreur */
 
      if (this->buf_len_ != 0 && this->release_)
        this->allocator_->free (this->rep_);        /* ici aussi */
Ce que je ne comprend pas, c'est d'ou sortent les MEM_Free et MEM_Malloc ? Dans le code, je n'ai que des free et malloc, qui sont les fonctions standards ! Le plus étrange, c'est que le code compile sous Visual C++ 2005 (Windows), mais pas sous gcc 3.4.6 (Linux).

Des idées ?