Это неудобство, появившееся в VS2010. Настройки каталогов VC ++ раньше располагались в разделах Инструменты + Параметры, Проекты и решения, Каталоги VC ++. Глобальные настройки, применяемые к каждому проекту, созданному на машине. Он все еще существует, но указывает на то, что теперь вы должны изменить его в настройках вашего проекта. Побочный эффект капитального ремонта механизма сборки в VS2010, позволяющий сборку с помощью msbuild. Удаление настроек для каждого проекта было бы логичным, но это сломало бы слишком много существующих проектов.
Таким образом, вероятно, лучше всего рассматривать настройки каталогов VC ++ как настройки компьютера по умолчанию. Он автоматически устанавливается установщиком VS. Повозитесь с ним, только если вам нужен необычный порядок поиска в каталогах, помещая пользовательские местоположения в последнюю очередь. Это очень необычно.
Однако это работает. И в конце концов этим воспользовались. Расширение возможностей настройки Platform Toolset в VS2012 и более поздних версиях. Другой компилятор, другой компоновщик, разные каталоги #include, другой путь поиска компоновщика. Изменено всего одним параметром, приятно.
Microsoft.Cpp.Win32.user
и только в этом. Если вы редактируете запись «Каталоги VC ++» при активном проекте или другом листе свойств, то изменение будет сохранено в.vcxproj
файле или в соответствующем.props
файле и вообще не будет глобальным или общедоступным.Включают Каталоги соответствует переменной окружения
INCLUDE
.В то время как дополнительные каталоги включения передаются через аргумент командной строки (т.е.
\I
параметр).источник
НАСТРОЙКА ПУТИ
Каталоги VC ++: включить каталоги
INCLUDE
Windows, которая определена вне Visual StudioINCLUDE
ИLIB
переменные среды создаются , когда Microsoft Windows SDK устанавливается с Visual Studio .C / C ++: дополнительные каталоги включения
ДОПОЛНИТЕЛЬНЫЕ ЗАМЕЧАНИЯ
Какой мне использовать?
Решение использовать каталоги включения или дополнительные каталоги включения будет зависеть от процесса разработки вашей организации. На мой взгляд, важнее:
Замечание о макросах
#define
Directive) наследует контент из различных источников. Макросы вроде ...$(Include)
наследуют свои значения из переменных среды Windows$(OutDir)
наследуют свои значения из Visual Studio IDEССЫЛКИ
источник