Можно ли добавить пользовательский каталог include в Visual Studio C ++ с помощью только переменных среды.
Боюсь, ответ отрицательный. Невозможно добитьсяэта цель только с переменной среды.
- Пожалуйста, отметьте this : при компиляции проекта в VS, если компилятор встречает инструкцию #include, он пытается открыть указанный файл.Если файл является абсолютным путем, он пытается загрузить только с этого конкретного пути.
Если файл является относительным путем, он пытается загрузить из каталога файла, который компилируется первым.Если файл не найден в той же папке, что и файл cpp, компилятор пробует каждый из путей в своем списке «Включить каталоги», чтобы найти файл.
И в VS IDE мы можем установить
Include Directories
или
Additional Include Directories
для установки пути поиска. Так что, если у меня есть файл заголовка
Test.h
, и я использую оператор, такой как
#include <AbsolutePath\Test.h>
, компилятор может найтиheader.
Если я использую оператор типа #include <Test.h>
, файл заголовка не может быть найден, пока я не установлю путь поиска.В этой ситуации я могу установить Additional Include Directories
для всех как отладки, так и выпуска, чтобы компилятор мог найти файл заголовка (Test.h находится в папке Company):
Примечание: Но большую часть времени мы должны знать, что когда мы меняем настройки в Project => Properties, мы на самом деле модифицируем файл проекта. (Xx.vcxproj).
Как вы упомянули выше, мы не можем вносить какие-либо изменения в файлы проекта, поэтому мы не можем достичь цели таким способом.Вместо этого я думаю, что вы можете попробовать использовать Directory.build.props file.
Создать файл Directory.Build.props, переместить его в корневой каталог вашей папки проекта.Для меня: C:\Users\userName\source\repos
папка.Добавьте в него содержимое, как показано ниже:
<Project>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>C:\Company;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
</Project>
Мы можем поместить заголовочный файл в папку C:\Company
(мы можем указать нашу папку таким образом), и компилятор сможет ее найти.Кроме того, мы не вносим никаких изменений в решение, проект или исходный файл.
Пожалуйста, дайте мне знать, если это полезно :) Любая обратная связь, не стесняйтесь связаться со мной.