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