2010-06-07 6 views
5

Je voudrais voir si vous pourriez m'orienter.Boost dans Visual Studio 2010, erreur IntelliSense

Il arrive que je Compilé et référencent bibliothèques Boost afin de les utiliser avec Visual Studio 2010. Lors de la construction de mon projet de test, je reçois ces deux erreurs IntelliSense

1 IntelliSense: #error directive: "Macro BOOST_LIB_NAME not set (internal error)" c:\boost_1_43_0\boost\config\auto_link.hpp 

2 IntelliSense: #error directive: "some required macros where not defined (internal logic error)." c:\boost_1_43_0\boost\config\auto_link.hpp 

Vérification du fichier en-tête auto_link.hpp la première erreur est dans cette ligne

#ifndef BOOST_LIB_NAME 
# error "Macro BOOST_LIB_NAME not set (internal error)" 
#endif 

Tracing la définition de BOOST_LIB_NAME, il semble défini dans config.hpp par boost_regex, dont le code ci-dessous je suis notamment

#if !defined(BOOST_REGEX_NO_LIB) && !defined(BOOST_REGEX_SOURCE) && !defined(BOOST_ALL_NO_LIB) && defined(__cplusplus) 
# define BOOST_LIB_NAME boost_regex 
# if defined(BOOST_REGEX_DYN_LINK) || defined(BOOST_ALL_DYN_LINK) 
#  define BOOST_DYN_LINK 
... more code 

et étrangement quand je pointe à BOOST_LIB_NAME il définit BOOST_LIB_NAME et les erreurs IntelliSense disparaissent.

Mon programme se construit et s'exécute correctement en utilisant la bibliothèque Boost: Regex - avec ou sans les erreurs Intellisense; Cependant, je ne comprends pas pourquoi ces erreurs IntelliSense apparaissent en premier lieu, et la deuxième raison pourquoi pointant la macro dans le fichier config.hpp définit BOOST_LIB_NAME.

Toute indication sera grandement appréciée.

Merci,

Jaime

Répondre

5

L'erreur Visual Studio IntelliSense vérifier C++ est pas parfait et rapporte souvent des erreurs qui aren'treallyerrors (ce sont des liens vers trois faux positifs que j'ai trouvé et rapporté; ils ne sont pas liés à votre problème, cependant).

Questions connexes