Ошибка Delphi “E2161:RLINK 32:Ошибка при открытии файла ________.drf ”во время сборки все
-
06-07-2019 - |
Вопрос
Я пытаюсь решить проблему с набором пакетов у которых, по-видимому, есть проблемы с зависимостью.Иногда во время сборки Всего я получаю эту ошибку:
Ошибка Delphi "E2161:RLINK 32:Ошибка при открытии файла ________.drf "
Что это означает / указывает и что такое файл "drf"?
Решение 2
Похоже, этот оказался главной проблемой / решением. р>
Откройте все пакеты, для которых у вас есть исходный код, и укажите параметр компиляции: «Восстановить явно» вместо «Восстановить при необходимости».
Другие советы
В дополнение к Решение проблемы "не удается найти файл drf" при компиляции пакетов статья, на которую я тоже наткнулся Отчет об ошибке Delphi #44134, в котором комментатор упоминает, что проблема связана с тем, что ваши файлы .dpk находятся в том же каталоге, что и ваши файлы .pas, когда этот же каталог находится в пути к библиотеке и включена функция "перестроить по мере необходимости".
Таким образом, у вас есть три варианта устранения этой проблемы:
- Отключите функцию "перестраивать по мере необходимости".Это, по-видимому, наиболее распространенное решение.
- Поместите файлы вашего пакета (
*.dpk
,*.dproj
) в отдельный каталог, а затем переустановите пакеты.Я сделал это с успехом. - Удалите каталог, содержащий ваши файлы .dpk и .pas, из пути к библиотеке.Обратите внимание, что Delphi добавит его обратно при определенных обстоятельствах, в том числе при установке / переустановке вашего пакета.
От http://www.delphifaq.com/faq/delphi/ delphi_ide / f157.shtml :
Когда вы компилируете пакеты, вы можно указать, какие пакеты должны быть считается для связи. Посылка требования проекта хранятся во временный файл ресурсов Windows с расширением .DRF.
Каким бы ни был этот файл с множеством подчеркиваний, компоновщик, скорее всего, ищет его в том виде, в котором он находится во временном каталоге (вы можете подтвердить это с помощью filemon ). Объяснение в DelphiFaq, где виновник ошибочно определил% TEMP%, так же вероятно, как и любая другая причина.
Хм ... никогда не слышал о них. Я только что искал проект, который вдохновил вопрос, с которым вы связаны, и там нет ничего с "DRF" расширение. Проверка здесь ничего не связана с Delphi. Но тот факт, что это ошибка компоновщика, а не ошибка компилятора, заставит меня предположить, что первые две буквы означают «Delphi Resource».
Попробуйте выполнить поиск по дереву каталогов вашего проекта и посмотрите, сможете ли вы найти что-нибудь с расширением DRF. Если это так, попробуйте открыть его в текстовом редакторе, чтобы увидеть, можно ли его прочитать, а если нет, попробуйте шестнадцатеричный редактор, если вы что-нибудь знаете о чтении двоичных форматов файлов. Посмотрим, сможете ли вы в этом разобраться.
Если вы не найдете ничего, то, вероятно, Delphi получает его где-то в коде, который он компилирует. Попробуйте запустить поиск по запросу "DRF". на вашем дереве каталогов и посмотреть, если это что-нибудь получается.
Иногда проблема заключалась в правах доступа к файлу.
Обходной путь был запущен Delphi от имени администратора.