Delphi 7은 찾을 수없는 파일에 대해 불만을 제기합니다
문제
회사의 자동화 된 빌드 서버를위한 제조 파일로 사용하도록 수정 한 BPG 파일이 있습니다. 작동하기 위해서는 변경해야했습니다.
Uses * Uses unit1 in 'unit1.pas' * unit1 unit2 in 'unit2.pas' * unit2 ... * ...
DPR 파일에서 컴파일러없이 작동하도록하기 위해 Unit1.pas를 찾을 수 없습니다. BPG 파일을 사용하여 실제로 프로젝트의 내용을보고 싶고 새 장치를 추가 할 때마다 'initx.pas'에있는 DPR 파일에 자동 잭이 필요하기 때문에 이것은 성가신 일입니다.
나는 뛰고있어 make -f [then some options]
, DPR은 제가 컴파일하는 것이 Make 파일과 동일한 디렉토리에 있지 않지만 이것이 중요하지는 않습니다. 모든 것이 오래된만큼 잘 컴파일됩니다 in 'unit1.pas
제거됩니다.
해결책
IDE의 검색 경로와 명령 줄 컴파일러의 검색 경로가 동일하지 않다는 사실에서 나올 수 있습니다. 명령 줄 컴파일러의 SARACH 경로를 변경하면 IDE 내에서와 동일한 소스 코드를 사용할 수 있습니다.
명령 줄 컴파일러의 검색 경로를 구성 할 수있는 한 가지 가능성은 DCC32.cfg라는 파일로 수행하는 것입니다. 도움말을 살펴보면 IDE-HELP에 DCC32.CFG에 대한 간단한 설명이 있습니다.
다른 팁
글쎄,이 작업은 저에게 효과적이었습니다.
//{$define PACKAGE} {$ifdef PACKAGE} uses unit1 in 'unit1.pas' unit2 in 'unit2.pas' ... {$else} uses unit1 unit2 ... {$endif}
유일한 문제는 새 장치를 추가 할 때마다 Delphi가 지우는 것입니다. ifdef package
상단에.
조건부를 프로젝트 파일에 넣을 때마다 다음을 수행합니다.
program a;
uses
ACondUnits;
...
unit ACondUnits;
interface
uses
{$IFDEF UseD7MM}
Delphi7MM;
{$ELSE}
FastMM4;
{$ENDIF}
implementation
end.
어쩌면이 트릭은 패키지에서도 작동합니다. 시도한 적이 없습니다.