Проблема Visual studio C IntelliSense

#visual-studio-2010 #visual-c #intellisense #call-hierarchy

#visual-studio-2010 #visual-c #intellisense #иерархия вызовов

Вопрос:

Кажется, у меня возникли две проблемы с моим проектом после того, как я перешел с VS 2005 на VS 2010.

IntelliSense: ошибка командной строки: недопустимое определение макроса: _WIN32_WINNT> = 0x0501

И я также, похоже, не могу создать «Иерархию вызовов» для любого из методов или свойств.

Я был бы признателен, если кто-нибудь сможет мне помочь с этим. Спасибо

Комментарии:

1. «Компилятор» Intellisense ужасно глючит. Я вообще этому не доверяю. Полагайтесь на реальный компилятор, который выдает вам предупреждения о компиляции.

Ответ №1:

Я только что столкнулся с той же проблемой — то же сообщение об ошибке, та же нефункционирующая иерархия вызовов и плохо работающий Intellisense.

Проблема была с флагами препроцессора в проекте, были определены следующие:

WIN32;_DEBUG;WINVER=0x501;_WIN32_WINNT 0x0501

Обратите внимание на отсутствие = after _WIN32_WINNT . Добавление = исправило все проблемы.

PS, это консольное приложение, которое не использует ни один из заголовочных файлов Windows, поэтому отсутствие макроса _WIN32_WINNT не вызвало более серьезной проблемы.

Ответ №2:

Решил игнорировать предупреждения intellisense. Иерархия вызовов не работала, потому что я был в режиме выпуска. Должно быть в режиме отладки.