Delphi “E2161 Erro: RLINK32:. Erro ao abrir arquivo ________ DRF” durante a compilação Todos

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

Pergunta

Eu estou tentando resolver um problema com um conjunto de pacotes que aparentemente têm problemas de dependência . Ocasionalmente durante uma compilação All, eu recebo este erro:

Delphi "E2161 Erro: RLINK32:. Erro ao abrir arquivo ________ DRF"

O que significa / indicam, eo que é um arquivo "DRF"?

Foi útil?

Solução 2

Parece que este acabou por ser o principal problema / solução.

abrir todos os pacotes para os quais tem código-fonte, e especifique a opção de compilação: 'Reconstruir explicitamente' em vez de 'Reconstruir quando necessário'.

Outras dicas

Além do Resolver o problema 'não consegue encontrar DRF arquivo' ao compilar pacotes artigo, eu também vim através Delphi bug relatório # 44134 , em que um comentarista menciona que o problema decorre de ter seus arquivos .dpk no mesmo diretório que seus arquivos de .pas quando esse mesmo diretório está no caminho da biblioteca e "reconstruir conforme necessário" está ativada.

Você, portanto, tem três opções para corrigir este problema:

  • Desativar "reconstruir conforme necessário". Esta parece ser a solução mais comum.
  • Coloque seus arquivos de pacotes (*.dpk, *.dproj) em um diretório separado e reinstale os pacotes. Eu tenho feito isso com sucesso.
  • Remova o diretório que contém o seu .dpk e arquivos .pas do caminho da biblioteca. Note-se que Delphi irá adicioná-lo de volta, em certas circunstâncias, incluindo quando você instala / reinstalação do pacote.

A partir http://www.delphifaq.com/faq/delphi/ delphi_ide / f157.shtml :

Quando você compilar com pacotes, pode especificar quais pacotes devem ser considerado para a ligação. O pacote requisitos do projeto ficam armazenados em um arquivo de recurso do Windows temporária com uma extensão .DRF.

O que quer que esse arquivo com os muitos sublinhados é, o ligador é, provavelmente, à procura-lo no que ele pensa que o tempDirectory é (você pode confirmar isso usando filemon ). A explicação DelphiFaq, onde um mal definida% TEMP% é o culpado, é tão provável como qualquer motivo.

Hmm ... nunca ouviu falar deles. Eu só procurou o projeto que inspirou a pergunta que você ligado a, e não há nada lá com uma extensão "DRF". Verificação aqui não aparecer nada Delphi relacionadas com. Mas o fato de que é um erro de vinculador, e não um erro do compilador, me levaria a supor que as duas primeiras letras significam "Delphi Resource."

Experimente fazer uma pesquisa através da árvore de diretórios do seu projeto e ver se você pode encontrar qualquer coisa com uma extensão DRF. Se assim for, tente abri-lo com um editor de texto para ver se é legível, e se não, tente um editor hex se você sabe alguma coisa sobre a leitura de formatos de arquivos binários. Veja se você pode fazer qualquer sentido.

Se você não encontrar nenhum, então Delphi provavelmente começá-lo de algum lugar no código que está compilando. Tente executar uma pesquisa grep para "DRF" em sua árvore de diretório e ver se ele vira para cima nada.

Às vezes o problema era permissões de acesso de arquivo.

A solução foi executado Delphi como administrador.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top