1

Я работаю над проектом C++ (VS 2010) с использованием CPLEX.Ошибка Intellisense/включая дополнительные библиотеки с переменными окружения

Я включил необходимую CPLEX библиотеки в настройках проекта следующим образом:

  • добавил «дополнительные включают каталоги» под C/C++> Общие

  • добавили «дополнительные каталоги библиотеки» под линкера> общие

  • добавлены .lib файлы, как "дополнительные dependecies" под линкера> входных

Все компилируется отлично, однако моя проблема в том, что intellisense все еще сообщает об ошибках (красные squiggly подчеркивания), такие как «невозможно открыть исходный файл» в строке #include и «идентификатор undefined» при использовании типов переменных, определенных в библиотеке CPLEX ,

Единственное различие с другими проектами, которые не имеют такого поведения является то, что на этот раз я использовал переменные среды Windows в настройке включаемого путь, т.е. библиотечных каталогов и включают в себя каталоги определены похожие на: %CPLEX_STUDIO_DIR%\cplex\include

Я установил его так, чтобы я мог построить этот проект на разных машинах, не вникая в свойства проекта. Поскольку CPLEX устанавливается отдельно, использование относительных путей для указания дополнительных каталогов на самом деле не является вариантом.

Я хотел бы повторить, что проект компилируется, и только ошибки intellisense беспокоят меня.

Я знаю, что могу отключить отчет об ошибках intellisense, но если у кого-то есть обходной путь, я бы с удовольствием об этом узнал.

С наилучшими пожеланиями,

ответ

3

Эта проблема, как известно, Microsoft:

http://connect.microsoft.com/VisualStudio/feedback/details/779874/intellisense-cant-handle-using-environemt-variable-in-include-path

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

3

Решение должно заменять %CPLEX_STUDIO_DIR%\cplex\include на $(CPLEX_STUDIO_DIR)\cplex\include. Это синтаксис Visual Studio использует для своих встроенных переменных, таких как $(VCInstallDir), но он также работает для переменных среды (если они не имеют того же имени, что и встроенная переменная) и также распознается intellisense как компилятор.

(Я понимаю, что это старый вопрос, но он занимает высокое место в результатах поиска, чтобы он мог помочь другим, даже если не оригинальный плакат.)

+0

Это не работает для меня в VS2017 – deltanine

Смежные вопросы