В чем разница между "Включить каталоги" и "Дополнительные каталоги Include",
В свойствах конфигурации моего проекта в разделе "Каталоги VС++" есть запись для "Include Directories". Но в разделе "C/С++" есть еще одна запись под названием "Дополнительные каталоги включения". То же самое происходит с библиотечными каталогами.
В чем разница между этими двумя записями?
![enter image description here]()
![enter image description here]()
Ответы
Ответ 1
Это неловкость, которая появилась в VS2010. Настройки VС++-каталогов, которые были расположены в настройках "Инструменты +", "Проекты и решения", "Каталоги VС++". Глобальные настройки, которые применяются к каждому проекту, который был построен на машине. Он по-прежнему присутствует, но указывает, что теперь вы должны изменить его в своих настройках проекта. Побочный эффект капитального ремонта двигателя в VS2010, позволяющий строить с помощью msbuild. Удаление параметров для каждого проекта было бы логичным, но это сломало бы слишком много существующих проектов.
Как таковой, лучше всего использовать параметры VС++ Directories в качестве машины по умолчанию. Он автоматически устанавливается установщиком VS. Погрузите его только в том случае, если вам нужен необычный порядок поиска в каталоге, в результате чего пользовательские местоположения будут последними. Очень необычно это делать.
Однако он работает. И это в конечном итоге стало полезным. Расширение возможностей набора инструментов платформы в VS2012 и выше. Различные компиляторы, разные компоновщики, разные каталоги #include, разные пути поиска ссылок. Изменено только одним параметром, приятно.
Ответ 2
Включить каталоги соответствует переменной окружения INCLUDE
.
Настройки каталога, отображаемые в окне, - это каталоги, которые Visual Studio будет искать включенные файлы, упомянутые в вашем источнике файлы кода. Соответствует переменной среды INCLUDE.
В то время как Дополнительные каталоги Include передаются через аргумент командной строки (т.е. параметр \I
).
Ответ 3
КОНФИГУРИРОВАНИЕ ВКЛЮЧЕНО ПУТЕЙ
Каталоги VС++: включить каталоги
- это значение наследуется от переменной среды
INCLUDE
Windows, которая определена вне Visual Studio
- переменные окружения могут быть: глобальными для компьютера или областью пользовательского уровня.
- Переменные среды
INCLUDE
и LIB
создаются при установке SDK Microsoft Windows с помощью Visual Studio.
C/С++: дополнительные каталоги ссылок
- - это настройка уровня проекта... вам нужно будет определить это значение для каждого проекта в своем решении.
- это значение может сохраняться в исходном управлении
ДОПОЛНИТЕЛЬНЫЕ ПРИМЕЧАНИЯ
Какой я должен использовать?
Решение об использовании каталогов Include или дополнительных каталогов Include будет зависеть от вашего процесса разработки вашей организации. На мой взгляд, это более важно:
- что вы можете последовательно и надежно воссоздать среду разработки (подумайте: передайте исходный код другому разработчику)
- для разработчиков внутри организации используют последовательный подход
Заметка о макросах
- Макросы конфигурации проекта С++ (не путать с предпроцессором С++
#define
) наследуют контент из разных источников. Макросы, как...
-
$(Include)
наследует их значения из переменных среды Windows
-
$(OutDir)
наследует их значения из IDE Visual Studio
ЛИТЕРАТУРЫ