Где Visual Studio ищет файлы заголовков C++?
Я проверил копию приложения C++ из SourceForge (HoboCopy, если вам интересно) и попытался его скомпилировать.
Visual Studio говорит мне, что он не может найти конкретный файл заголовка. Я нашел файл в исходном дереве, но куда его нужно поместить, чтобы он был найден при компиляции?
есть ли специальные каталоги?
6 ответов:
в Visual Studio ищет заголовки в следующем порядке:
- В текущем каталоге.
- в дополнительных каталогах Include в свойствах проекта (в разделе C++ | General).
- в Visual Studio C++ каталоги включения под инструменты→ опции→ проекты и решения→ каталоги VC++.
в вашем случае добавьте каталог, который заголовок в свойствах проекта.
Если проект поставляется с файлом проекта Visual Studio, то он уже должен быть настроен для поиска заголовков для вас. Если нет, вам нужно будет добавить каталог include file в настройки проекта, щелкнув правой кнопкой мыши проект и выбрав Свойства, нажав "C/C++" и добавив каталог, содержащий файлы include, в поле редактирования "дополнительные каталоги Include".
пытался добавить это в качестве комментария к Роб Prouseсообщение, но отсутствие форматирования сделало его непонятным.
в Visual Studio 2010 диалоговое окно "Инструменты | Параметры | проекты и решения | каталоги VC++" сообщает, что "редактирование каталогов VC++ в сервисах > параметры устарело", предлагая использовать довольно интуитивно понятный менеджер свойств.
Если вы действительно, действительно хотите обновить значение по умолчанию $(IncludePath), вы должны взломать соответствующая запись в одном из XML файлов:
\Program Files (x86)\MSBuild\Microsoft.СРР\В4.0\платформ\с Win32\PlatformToolsets\твердотельного накопителя V100, если\Майкрософт.СРР.Win32.твердотельного накопителя V100, если.реквизит
или
\Program Files (x86)\MSBuild\Microsoft.СРР\В4.0\платформ\х64\PlatformToolsets\твердотельного накопителя V100, если\Майкрософт.СРР.X64.твердотельного накопителя V100, если.реквизит
(вероятно, не рекомендуется Microsoft.)
там, кажется, ошибка в Visual Studio 2015 сообщества. Для 64-разрядного проекта папка include не найдена, если она не находится в конфигурации бит win32 Дополнительно Включить Папки список.
существует более новый вопрос, что поражает проблему лучше спросить Как включить пути работают в Visual Studio?
там становится раскрыт способ сделать это в новых версиях VisualStudio
- только в текущем проекте (поскольку вопрос задан здесь), а также
- для каждого нового проекта по умолчанию
второй является то, что ответ Стива Уилкинсон выше объясняет, что такое, как он полагал сам, а не то, что рекомендовал бы Microsoft.
чтобы сказать это короткий путь здесь: сделайте это, но сделайте это в пользовательском каталоге по адресу
C:\Users\UserName\AppData\Local\Microsoft\MSBuild\v4.0
в XML-файле
Microsoft.СРР.Win32.пользователь.реквизит
и/или
Microsoft.СРР.x64.пользователь.реквизит
и не в файлах C:\Program - каталог, где немодифицированный Заводской файл Microsoft планирует проживать.
тогда вы делаете это так, как VisualStudio делает это тоже, и все регулярно.
для получения дополнительной информации, почему это сделать так, см. Мой ответ здесь.
на самом деле на моем windows 10 с сообществом visual studio 2017 путь к заголовкам C++:
C:\Program Files (x86)\Microsoft Visual Studio17\Community\VC\Tools\MSVC.15.26726\include
C:\Program Files (x86)\Windows Kits\Include.0.17134.0\ucrt
первый содержит стандартные заголовки C++, такие как
iostream
,algorithm
. 2-й содержит старые заголовки C, такие какstdio.h
,string.h
. Номер версии может отличаться в зависимости от программного обеспечения.надеюсь, что это поможет.