2010-06-07 28 views
5

Mi piacerebbe vedere se potessi orientarmi.Boost in Visual Studio 2010, errore IntelliSense

Succede che ho compilato e fatto riferimento le librerie Boost, al fine di utilizzarli con Visual Studio 2010. Quando si costruisce il mio progetto di test ottengo questi due errori di 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 

Controllo file di intestazione auto_link.hpp la primo errore è in questa linea

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

Tracciare la definizione di BOOST_LIB_NAME, sembra che è definita da config.hpp boost_regex, quale codice includo sotto

#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 

e stranamente quando indico BOOST_LIB_NAME definisce BOOST_LIB_NAME e gli errori di IntelliSense scompaiono.

Il mio programma si costruisce ed esegue bene usando la libreria Boost: Regex - con o senza gli errori Intellisense; tuttavia, non capisco perché questi errori di IntelliSense appaiano in primo luogo, e in secondo luogo perché puntare la macro in config.hpp definisce BOOST_LIB_NAME.

Qualsiasi consiglio sarà molto apprezzato.

Grazie,

Jaime

risposta

5

L'errore di Visual Studio IntelliSense il controllo per C++ non è perfetto e spesso segnala errori che aren'treallyerrors (quelli sono collegamenti a tre falsi positivi che ho trovato e segnalato; non sono legati al tuo problema, però).

Problemi correlati