Ошибка Delphi “E2161:RLINK 32:Ошибка при открытии файла ________.drf ”во время сборки все

StackOverflow https://stackoverflow.com/questions/1215289

Вопрос

Я пытаюсь решить проблему с набором пакетов у которых, по-видимому, есть проблемы с зависимостью.Иногда во время сборки Всего я получаю эту ошибку:

Ошибка 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 от имени администратора.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top