2009-02-12 6 views
2

J'essaie de compiler la fonction regex_search sur la plate-forme vxWorks gcc. J'ai testé avec un exemple pour voir si je peux l'utiliser sans aucun problème. Le fichier d'exemple inclut les trois en-têtes suivants.C++ Erreur cwchar

#include <string> 
#include <map> 
#include <boost/regex.hpp> 

Les erreurs que je reçois sont les suivantes

include/c++/3.4.4/cwchar:73: error: `::mbstate_t' has not been declared 
include/c++/3.4.4/cwchar:114: error: `::btowc' has not been declared 
......... 
.........(similar "not defined" errors) 


c++/3.4.4/cwctype:20: error: `::wctrans_t' has not been declared 
c++/3.4.4/cwctype:20: error: `::wctype_t' has not been declared 
......... 
.........(similar "not defined" errors) 

Je veux savoir ce que les en-têtes et cwchar CwType faire. Quand je les ouvre et les vois, ils contiennent beaucoup de préprocesseur #ifdefs qui semble vérifier les informations spécifiques au compilateur.

Mon superviseur me demande de les désactiver. Comment puis-je le faire?

+0

Bonjour! J'ai eu le même problème en utilisant l'IDE Xcode (Mac). J'ai découvert que c'était parce que je mettais le répertoire '/ usr/local/include' dans les chemins de recherche d'en-tête, pour être ** récursivement ** rechercher. C'était mauvais, et désactiver la recherche ** récursive ** a résolu mon problème. Donc, je pense que votre compilateur ramasse certains fichiers d'en-tête erronés avec des noms en double (peut-être pour la compatibilité descendante). Je ne sais pas si cela aide, je sais que c'est 8 ans de retard. – Ray

Répondre