2010-06-07 2 views
5

Я хотел бы посмотреть, можете ли вы сориентировать меня.Boost в Visual Studio 2010, ошибка IntelliSense

Случается, что я собирал и ссылки библиотеки подталкивания для того, чтобы использовать их с Visual Studio 2010. При создании мой тестовый проект я получаю эти две ошибки 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 

Проверка заголовка auto_link.hpp файла первая ошибка в этой строке

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

Трассировка определение BOOST_LIB_NAME, кажется, что определяется в config.hpp по boost_regex, что код, я в том числе ниже

#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 

и странно, когда я указываю BOOST_LIB_NAME определяет BOOST_LIB_NAME и ошибки IntelliSense исчезают.

Моя программа строит и работает отлично, используя библиотеку Boost: Regex - с ошибками Intellisense или без них; однако, я не понимаю, почему эти ошибки IntelliSense появляются в первую очередь, а во-вторых, почему указание макроса в config.hpp определяет BOOST_LIB_NAME.

Любое руководство будет принята с благодарностью.

Спасибо,

Jaime

ответ

5

проверки Ошибка Visual Studio IntelliSense для C++ не является совершенным, и часто сообщает об ошибках, которые aren'treallyerrors (те ссылки на три ложных срабатываний, что я нашел и сообщенных; они не связаны с вашей проблемой, хотя).