Выбранный файл не найден в пути поиска активного файла проекта
Если ваше приложение пытается использовать неработающую ссылку, создается ошибка исключения. Неспособность найти компонент, на который указывает ссылка, является явным признаком ошибки, однако есть несколько ситуаций, в которых ссылка считается нерабочей. Эти варианты показаны в приведенном ниже списке:
Неверный или неполный путь для ссылок проекта.
Файл, на который указывает ссылка, удален.
Файл, на который указывает ссылка, переименован.
Сбой подключения к сети или проверки подлинности.
Ссылка указывает на COM-компонент, который не установлен на данном компьютере.
Ниже приведены способы устранения этих проблем.
Ссылки на файлы в сборках задаются по абсолютным путям в файле проекта. Таким образом, в локальном окружении пользователей, работающих с несколькими разработчиками, может отсутствовать сборка, на которую указывает ссылка. Чтобы избежать этих ошибок, в таких случаях лучше добавлять ссылки между проектами. Дополнительные сведения см. в разделе Программирование с использованием сборок.
Файл находится в проекте, но не в пути поиска включаемых файлов
Чтобы устранить эту проблему, исправьте путь, используемый компилятором для поиска включаемого или импортируемого файла. В новом проекте используются пути поиска include по умолчанию. Может потребоваться изменить путь поиска include, чтобы добавить каталог для проекта. При компиляции в командной строке добавьте путь к переменной среды include или /I параметр компилятора, чтобы указать путь к файлу.
чтобы задать путь к каталогу включения в Visual Studio, откройте диалоговое окно страницы свойств проекта. выберите VC++ каталоги в разделе свойства конфигурации в левой области, а затем измените свойство включаемые каталоги . дополнительные сведения о каталогах для отдельных пользователей и проектов, поиск которых выполняется компилятором в Visual Studio, см. в разделе страница свойств VC++ directories. Дополнительные сведения о параметре компилятора см. в /I разделе /I (дополнительные каталоги включаемых данных).
Добавить результаты
Используйте этот параметр, чтобы добавить результаты текущего поиска к результатам предыдущего.
Предкомпилированные заголовки еще не скомпилированы
Если проект настроен для использования предварительно скомпилированных заголовков, необходимо создать соответствующие .pch файлы, чтобы можно было скомпилировать файлы, использующие содержимое заголовка. например, pch.cpp файл ( stdafx.cpp в Visual Studio 2017 и более ранних версий) автоматически создается в каталоге проекта для новых проектов. Сначала необходимо скомпилировать этот файл, чтобы создать предкомпилированные файлы заголовков. В типичном проекте процесса сборки это выполняется автоматически. Дополнительные сведения см. в разделе Создание предкомпилированных файлов заголовков.
Файл, на который указывает ссылка, переименован.
Файл, на который указывает ссылка, мог быть переименован.
Пример
В следующем примере создается ошибка C1083, если файл "test.h" заголовка не существует в исходном каталоге или в пути поиска include.
Сведения о том, как создавать проекты C/C++ в интегрированной среде разработки или в командной строке, а также сведения о настройке переменных среды см. в разделе проекты и сборки систем.
Функция Поиск в файлах позволяет выполнять поиск в указанном наборе файлов. Найденные Visual Studio совпадения приводятся в окне Результаты поиска в интегрированной среде разработки. Способ отображения результатов зависит от параметров, выбранных на вкладке Найти в файлах диалогового окна Найти и заменить.
Если вы используете Visual Studio 2019 версии 16.6 или более ранней, диалоговое окно Найти и заменить может выглядеть не так, как показано здесь. Перейдите на версию этой страницы для Visual Studio 2017, чтобы получить правильное описание.
Отображение функции поиска в файлах
Чтобы открыть диалоговое окно Найти и заменить, выполните указанные ниже действия или нажмите клавиши CTRL+SHIFT+F.
Нажмите клавиши CTRL+Q и введите "найти" в поле поиска в верхней части экрана.
Выберите в списке результатов Найти в файлах.
В строке меню выберите Правка > Найти и заменить.
Во всплывающем меню выберите пункт Найти в файлах.
Чтобы отменить операцию поиска, нажмите клавиши CTRL+BREAK.
Средство поиска и замены не выполняет поиск в каталогах, для которых задан атрибут Hidden или System .
Параметры результатов
Вы можете развернуть или свернуть раздел Параметры результатов. В разделе Выводить результаты в можно выбрать или отключить указанные ниже параметры.
Окно "Результаты поиска 1"
Если выбран этот параметр, результаты текущего поиска заменяют содержимое окна Результаты поиска 1. Это окно открывается автоматически и отображает результаты поиска. Чтобы открыть это окно вручную, выберите Другие окна в меню Вид и выберите Результаты поиска 1.
Окно "Результаты поиска 2"
Если выбран этот параметр, результаты текущего поиска заменяют содержимое окна Результаты поиска 2. Это окно открывается автоматически и отображает результаты поиска. Чтобы открыть окно вручную, выберите Другие окна в меню Вид и выберите Результаты поиска 2.
Между окнами результатов можно переключаться, нажимая клавиши ALT+1 или ALT+2.
Таблица результатов поиска
Результаты поиска отображаются в формате таблицы, а не в виде текстового списка.
Добавить результаты
Добавляет результаты поиска в результаты предыдущей операции поиска.
Отображать только имена файлов
Отображает список файлов, содержащих соответствия, а не сами совпадения.
Параметры поиска
Вы можете развернуть или свернуть раздел Параметры поиска. Можно выбрать или отключить указанные ниже параметры.
Учитывать регистр
Если этот флажок установлен, функция Результаты поиска будет учитывать регистр.
Слово целиком
Если этот флажок установлен, в окне Результаты поиска будут отображаться только полноценные соответствия слову.
Использование регулярных выражений
Если этот флажок установлен, вы можете использовать специальные обозначения, чтобы определить шаблоны текста для поиска соответствия в текстовых полях Найти или Заменить. Список этих обозначений см. в статье Использование регулярных выражений в Visual Studio.
Искать в файлах указанных типов
Этот список указывает типы файлов для поиска в каталогах Область поиска. Если это поле пусто, поиск будет выполняться по всем файлам в каталогах Область поиска.
Выберите любой элемент в списке, чтобы ввести заранее заданную строку для поиска указанных типов файлов.
Сохранение результатов
Вы можете сохранить результаты одной операции поиска, пока выполняете другие. Это позволяет без труда сравнивать результаты и просматривать их рядом друг с другом.
Чтобы сохранить несколько результатов поиска, нажимайте кнопку Сохранить результаты после каждой операции поиска. Затем, когда вы будете искать что-то еще, результаты отобразятся на новой вкладке. Вы можете сохранить до пяти результатов поиска. Если у вас уже есть пять результатов поиска, для следующей операции поиска будет использоваться самая старая вкладка результатов поиска.
В Visual Studio 2022 и более поздних версиях можно настроить Visual Studio на сохранение результатов. Последовательно выберите Сервис > Параметры > Общие > Поиск и замена и установите флажок Хранить результаты поиска по умолчанию.
Разрешение поиска файла
Автоматический процесс поиска файлов выполняется в заданной последовательности шагов.
- Полная информация о ссылке выводится посредством события API или любой из задействованных надстроек. Например, PDM-системам разрешается переопределять стандартное поведение Autodesk Inventor .
- Если в ссылке хранится имя библиотеки или исходный файл был открыт из библиотечной папки, поиск производится только по путям, заданным для данной библиотеки.
Существует три варианта использования имени библиотеки для поиска файлов в библиотечных папках:
- Требуемый файл не найден в библиотеке, но в ссылке хранится имя библиотеки. В этом случае производится поиск в библиотечной папке, имя которой совпадает с именем библиотеки в ссылке.
- Ссылка является не библиотечной, и имя библиотеки пусто, но искомый файл обнаружен по библиотечному пути поиска. В этом случае производится поиск в библиотечной папке, содержащей исходный файл.
- Ссылка ведет в библиотеку, и искомый файл обнаружен по библиотечному пути поиска. Генерируется список имен библиотек, удовлетворяющих условиям поиска. Просмотр этих библиотек выделяет самое подходящее.
Подменяющее правило задается, если:
- Файлы или вся папка перемещены из одной библиотеки в другую, из одной рабочей группы в другую, в другую редактируемую папку или папку библиотеки.
- Какая-либо вложенная папка была добавлена или удалена из папки проекта, или пути к наиболее значимой папке были изменены каким-то другим образом.
- Группа файлов перенесена из папки, заданной в проекте, в другую папку, которая находится вне его.
Если файл так и не найден, открывается диалоговое окно "Поиск компонента", в котором можно вручную задать путь поиска файла. После того как файл найден с помощью этого диалогового окна, его местоположение можно запомнить для дальнейшего использования в качестве библиотечного пути и/или правила подстановки.
В зависимости от причин, по которым файл не был найден, можно предпринять действия по исправлению:
Компилятор создает ошибку C1083, когда не удается найти требуемый файл. Эта ошибка имеет несколько возможных причин. Наиболее распространенными причинами являются неверный путь поиска include или отсутствующие или неправильно именованные файлы заголовков, но другие типы файлов и проблемы могут также вызвать C1083. Ниже приведены некоторые распространенные причины, по которым компилятор создает эту ошибку.
На компьютере не установлен COM-компонент.
Автор:
В редакторе проектов задайте пути поиска файлов в папках, открытых для доступа к файлам и их редактирования.
Задание пути ко вложенному файлу
Задание пути к рабочему пространству
- Правой кнопкой мыши щелкните "Рабочее пространство", а затем выберите "Добавить путь".
- Можно принять путь, отредактировать его либо выбрать папку рабочего пространства при помощи средства обзора.
- Нажать кнопку "Сохранить".
Прим.: При работе с однопользовательским проектом или полуавтономным рабочим пространством рабочие файлы могут быть скопированы в рабочее пространство для дальнейшей работы. Это копирование можно выполнить с помощью Design Assistant или провести его через получение файлов из рабочей группы, и в этом случае файлы копируются в рабочем пространстве пользователя. В статусном браузере щелкнуть правой кнопкой на файле, слева от которого находится значок возможности получения, и выбрать "Получить".
Задание пути поиска рабочей группы
-
Щелкните правой кнопкой элемент "Групповые пути поиска", а затем выберите параметр: Добавить путь
Введите имя папки и путь. Нажать кнопку "Сохранить".
Добавить пути из файла
Добавить путь из папки
Найдите и выберите папку, в которой содержатся файлы рабочей группы. Путь к выбранной папке добавляется в список папок выбранного раздела.
Вставка ранее скопированного пути в поле.
Удаление всех групповых путей поиска. При удалении всех путей автоматически устанавливается однопользовательский тип проекта.
Задание местоположения библиотеки
-
Щелкните правой кнопкой мыши в разделе "Библиотеки" и выберите параметр: Добавить путь
Добавить пути из файла
Вставка ранее скопированного пути в поле.
Удаление всех путей к библиотекам.
Добавление пути поиска библиотеки из других проектов
Прим.: При установке Autodesk Inventor можно выбрать параметр "Разрешить изменения" для файлов Библиотеки компонентов. Для изменения значения этой опции необходимо переустановить программу.
Автор:
Autodesk Inventor выполняет поиск связанных файлов, используя параметры и каталоги хранения файлов, заданные в активном проекте.
Ссылка на файл, хранящаяся в файле Autodesk Inventor , может быть библиотечной и небиблиотечной. Библиотечная ссылка включает в себя следующие элементы.
- Имя библиотеки
- Имя файла
- Путь внутри библиотеки (при необходимости)
Небиблиотечная ссылка включает в себя следующие элементы:
- Имя файла
- Путь внутри библиотеки (при необходимости)
При открытии файла Autodesk Inventor ищет компоненты в следующем порядке:
- Пути поиска библиотек, если загружается библиотечная деталь. В противном случае библиотечные пути не просматриваются.
- Рабочее пространство.
- Групповые пути поиска.
- Папка с файлом описания проекта.
Искать в
Этот параметр выбирается из раскрывающегося списка Искать в и определяет, будут ли команды Найти в файлах выполнять поиск только в активных в данный момент файлах или во всех файлах, сохраненных в заданной папке.
Выберите область поиска в списке или нажмите кнопку Обзор (. ), чтобы открыть диалоговое окно Выбор папок поиска и задать собственный набор каталогов. Можно также ввести путь непосредственно в поле Область поиска.
При выборе параметров Все решение или Текущий проект поиск в файлах проектов и решений не выполняется. Если вам требуется найти что-нибудь в файлах проекта, выберите папку поиска.
Если вы используете параметр Искать в для поиска файла, извлеченного из системы управления исходным кодом, найдена будет только версия файла, скачанная на локальный компьютер.
Неправильный путь для ссылок
Если проекты используются совместно на разных компьютерах, некоторые ссылки могут быть не найдены, если компонент находится на этих компьютерах в разных папках. Ссылки сохраняются под именем файла компонента (например, MyComponent). Когда в проект добавляется ссылка, расположение папки для файла компонента (например, C:\MyComponents) добавляется к свойству проекта ReferencePath.
Чтобы устранить эту проблему, можно удалить неработающую ссылку и заменить в диалоговом окне Добавление ссылки. Другое решение заключается в том, чтобы использовать элемент Путь для ссылок на страницах свойств проекта и изменить папки в списке, указав правильное расположение. Свойство Путь для ссылок сохраняется для каждого пользователя на каждом компьютере. Таким образом, изменение пути для ссылок не затрагивает других пользователей проекта.
Ссылки между проектами лишены подобных проблем. Поэтому по мере возможности следует использовать их вместо ссылок на файлы.
Исправление неработающей ссылки, указывающую на переименованный файл
Удалите ссылку, а затем добавьте ссылку на переименованный файл.
Если ссылка находится в другом расположении на компьютере, нужно считать ее оттуда.
Возможно, файл заблокирован или используется
Если для изменения или доступа к файлу используется другая программа, файл может быть заблокирован. Попробуйте закрыть файл в другой программе. иногда другая программа может быть Visual Studio сама по себе при использовании параметров параллельной компиляции. Если отключить параметр параллельной сборки, то эта ошибка исчезнет, а это проблема. Эта проблема также может быть вызвана другими системами параллельной сборки. Будьте внимательны при задании зависимостей файлов и проектов, чтобы порядок сборки был правильным. В некоторых случаях рекомендуется создать промежуточный проект для принудительного создания последовательности зависимостей для общего файла, который может быть создан несколькими проектами. Иногда антивирусные программы временно блокируют недавно измененные файлы для проверки. Если возможно, рассмотрите возможность исключения каталогов сборки проекта из антивирусного сканера.
Искать в
Пункт, выбранный в раскрывающемся списке Искать в, определяет, будет ли функция Найти в файлах выполнять поиск по всей рабочей области, по всему решению, по текущему проекту, текущему каталогу, всем открытым документам или текущему документу.
Можно также нажать рядом кнопку Обзор (. ) , чтобы выбрать место для поиска. Более того, если вы уже указали каталог, нажатие этой кнопки не заменяет каталог, а добавляет новый. Например, если для параметра "Где искать" задано значение .\Code, можно нажать кнопку Обзор (. ) и перейти в папку с именем Shared Code. Теперь в поле Обзор (. ) будут отображаться папки .\Code и .\Shared Code. При выполнении команды "Найти" поиск будет выполняться в обеих этих папках.
Чтобы уточнить условия поиска, можно выбрать следующие параметры (или отменить их выбор):
- Include external items (Включить внешние элементы). Этот параметр позволяет включить внешние элементы, такие как "windows.h", на которые можно добавить ссылку, но которые не являются частью решения.
- Include miscellaneous files (Включить прочие файлы). Этот параметр позволяет включить прочие файлы, например открытые вами файлы, которые не являются частью решения.
Искать в
Пункт, выбранный в раскрывающемся списке Искать в, определяет, будет ли функция Найти в файлах выполнять поиск по всей рабочей области, по всему решению, по текущему проекту, текущему каталогу, всем открытым документам или текущему документу.
Можно также нажать рядом кнопку Обзор (. ) , чтобы выбрать место для поиска. Более того, если вы уже указали каталог, нажатие этой кнопки не заменяет каталог, а добавляет новый. Например, если для параметра "Где искать" задано значение .\Code, можно нажать кнопку Обзор (. ) и перейти в папку с именем Shared Code. Теперь в поле Обзор (. ) будут отображаться папки .\Code и .\Shared Code. При выполнении команды "Найти" поиск будет выполняться в обеих этих папках.
Чтобы уточнить условия поиска, можно выбрать следующие параметры (или отменить их выбор):
- Include external items (Включить внешние элементы). Этот параметр позволяет включить внешние элементы, такие как "windows.h", на которые можно добавить ссылку, но которые не являются частью решения.
- Include miscellaneous files (Включить прочие файлы). Этот параметр позволяет включить прочие файлы, например открытые вами файлы, которые не являются частью решения.
Исправление неработающей ссылки проекта для файла, который больше не существует на диске
Если ссылка находится в другом расположении на компьютере, считайте ее оттуда.
Построитель выражений
Если в строке поиска нужно использовать регулярные выражения, нажмите рядом с полем поиска кнопку Построитель выражений. Дополнительные сведения см. в статье Использование регулярных выражений в Visual Studio.
Кнопка Построитель выражений включена, только если вы выбрали параметр Использовать регулярные выражения в области Параметры поиска.
поле поиска;
Чтобы найти новую текстовую строку или выражение, введите их в поле "Поиск". Для поиска любой из 20 строк, которые вы искали недавно, откройте раскрывающийся список и выберите нужную строку.
Можно выбрать или отключить указанные ниже параметры.
Учитывать регистр. Если выбрать этот параметр, поиск будет выполняться с учетом регистра.
Слово целиком. Если выбрать этот параметр, в результатах поиска будут только полностью совпадающие слова.
Использовать регулярные выражения. Этот параметр позволяет применять специальные обозначения, чтобы определить шаблоны текста для поиска соответствия в текстовых полях "Найти" или Заменить. Список этих обозначений см. в статье Использование регулярных выражений в Visual Studio.
Кнопка Построитель выражений отображается рядом с полем поиска, только если установлен флажок Использовать регулярные выражения.
Результаты поиска
При выполнении поиска результаты отображаются по мере того, как они становятся доступными.
Visual Studio начинает создавать индекс после загрузки контекста кода, например, при открытии нового проекта, изменении ветвей или изменении списка файлов. Если вы выполняете поиск, пока Visual Studio все еще индексирует исходные файлы, вы можете увидеть предупреждение о том, что результаты являются неполными.
поле поиска;
Чтобы найти новую текстовую строку или выражение, введите их в поле "Поиск". Для поиска любой из 20 строк, которые вы искали недавно, откройте раскрывающийся список и выберите нужную строку.
Можно выбрать или отключить указанные ниже параметры.
Учитывать регистр. Если выбрать этот параметр, поиск будет выполняться с учетом регистра.
Слово целиком. Если выбрать этот параметр, в результатах поиска будут только полностью совпадающие слова.
Использовать регулярные выражения. Этот параметр позволяет применять специальные обозначения, чтобы определить шаблоны текста для поиска соответствия в текстовых полях "Найти" или Заменить. Список этих обозначений см. в статье Использование регулярных выражений в Visual Studio.
Кнопка Построитель выражений отображается рядом с полем поиска, только если установлен флажок Использовать регулярные выражения.
Не задана среда командной строки INCLUDE или LIB
Если компилятор вызывается из командной строки, для указания путей поиска часто используются переменные среды. Если путь поиска, описанный в переменной среды include или lib , задан неправильно, может быть сформирована ошибка C1083. Мы настоятельно рекомендуем использовать ярлык командной строки разработчика, чтобы задать базовую среду для сборок с командной строкой. Дополнительные сведения см. в разделе сборка C/C++ в командной строке. Дополнительные сведения об использовании переменных среды см. в разделе инструкции. Использование переменных среды в сборке.
Типы файлов
Параметр Типы файлов указывает типы файлов для поиска в каталогах Искать в. Выберите любой элемент в списке, чтобы ввести заранее заданную строку для поиска указанных типов файлов.
Можно выполнить поиск нескольких типов файлов, разделяя их точкой с запятой ( ; ). Можно также исключить папки и файлы, поставив перед любым путем или типом файла восклицательный знак ( ! ).
Включена неправильная версия имени файла
Проблемы с библиотекой сторонних производителей и vcpkg
если вы видите эту ошибку при попытке настроить библиотеку стороннего производителя в рамках сборки, рассмотрите возможность использования vcpkg, диспетчера пакетов C++ для установки и сборки библиотеки. vcpkg поддерживает большой и растущей список библиотек сторонних производителейи задает все свойства конфигурации и зависимости, необходимые для успешной сборки в рамках проекта.
Сбой подключения к сети или проверки подлинности
Недоступность файлов может быть вызвана несколькими возможными причинами, например ошибкой сетевого соединения или ошибкой проверки подлинности. В каждом отдельном случае могут использоваться уникальные средства восстановления. Например, вам может потребоваться обратиться к локальному администратору для получения доступа к необходимым ресурсам. Однако удаление ссылки и изменение использующего ее кода работает всегда.
Включая вложенные папки
Указывает, что поиск будет выполняться во вложенных папках папки Область поиска.
Типы файлов
Параметр Типы файлов указывает типы файлов для поиска в каталогах Искать в. Выберите любой элемент в списке, чтобы ввести заранее заданную строку для поиска указанных типов файлов.
Можно выполнить поиск нескольких типов файлов, разделяя их точкой с запятой ( ; ). Можно также исключить папки и файлы, поставив перед любым путем или типом файла восклицательный знак ( ! ).
Исправление неработающей ссылки проекта с помощью исправления пути для ссылок
В обозревателе решений щелкните правой кнопкой мыши узел проекта и выберите пункт Свойства.
Открывается конструктор проектов.
Если вы используете Visual Basic, выберите страницу Ссылки и нажмите кнопку Пути для ссылок. В диалоговом окне Пути для ссылок введите путь к папке с элементом, на который нужно сослаться, в поле Папка, а затем нажмите кнопку Добавить папку.
Найти
Чтобы найти новую текстовую строку или выражение, введите их в поле Найти.
Файл не включен в путь поиска включаемых файлов
Это указывает компилятору искать файл в том же каталоге, который содержит исходный файл, а затем искать в других местах, заданных средой сборки. Если кавычки содержат абсолютный путь, компилятор выполняет поиск файла только в этом расположении. Если кавычки содержат относительный путь, компилятор выполняет поиск файла в каталоге относительно исходного каталога.
Если имя заключено в угловые скобки,
Если включаемые файлы находятся в другом каталоге относительно исходного каталога и в директивах Include используется относительный путь, то вместо угловых скобок следует использовать двойные кавычки. Например, если файл myheader.h заголовка находится в подкаталоге именованных заголовков проекта, в этом примере не удается найти файл и вызывается C1083:
но этот пример работает:
Добавить результаты
Используйте этот параметр, чтобы добавить результаты текущего поиска к результатам предыдущего.
Дополнительные причины
Вы установили пакет SDK или библиотеку стороннего производителя, но после установки пакета SDK или библиотеки не открывали новое окно командной строки разработчика. Если пакет SDK или библиотека добавляет файлы в путь поиска включаемых файлов, может потребоваться открыть новое окно командной строки разработчика, чтобы получить эти изменения переменных среды.
Файл использует управляемый код, но параметр /clr компилятора не указан. Дополнительные сведения см. в разделе /clr (компиляция среды CLR).
Файл компилируется с использованием другого /analyze параметра компилятора, чем используется для предварительной компиляции заголовков. При предварительной компиляции заголовков для проекта все должны использовать одни и те же /analyze Параметры. дополнительные сведения см. в разделе /analyze (Code Analysis).
файл или каталог был создан подсистема Windows для Linux, учитывается регистр в каждом каталоге, и указанный регистр пути или файла не соответствует регистру пути или файла на диске.
Файл, каталог или диск доступен только для чтения.
Visual Studio или средства командной строки не имеют достаточных разрешений для чтения файла или каталога. это может произойти, например, когда файлы проекта имеют разные права владения, чем процесс, выполняемый Visual Studio или программ командной строки. иногда эту ошибку можно устранить, запустив Visual Studio или командную строку разработчика от имени администратора.
Недостаточно дескрипторов файлов. Закройте часть приложений и повторите компиляцию. Эта ситуация маловероятна в обычных условиях. Однако она может возникать при построении крупных проектов на компьютере с ограниченной физической памятью.
Указано неверное имя файла
При вводе имени файла допущена ошибка. Например, примененная к объекту директива
может не найти файл, который вы хотели. Большинство файлов заголовков стандартной библиотеки C++ не имеют расширения h. . Чтобы устранить эту проблему, убедитесь, что указано правильное имя файла, как в следующем примере:
Файл, на который указывает ссылка, удален.
Вполне возможно, что файл, на который указывает ссылка, был удален и больше не существует на диске.
Читайте также: