Я хотел бы видеть, могли ли Вы ориентировать меня.
Это происходит, что я скомпилировал и сослался на библиотеки повышения для использования их с 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
Проверка ошибок Visual Studio IntelliSense для C ++ несовершенна и часто сообщает об ошибках, которые не являются на самом деле ошибками (это ссылки на три обнаруженных мной ложных срабатывания и сообщил; однако они не имеют отношения к вашей проблеме).