FPC message: Can not find unit/de

From Free Pascal wiki
Jump to: navigation, search

Deutsch (de) English (en) français (fr) magyar (hu)

Allgemeine Hinweise

Beispiel:

 unit1.pas(40,42) Fatal: Can't find unit forms

Der Compiler hat weder eine kompatible forms.ppu Datei noch eine Quelldatei (forms.pp oder forms.pas oder forms.p) gefunden.

Der Compiler sucht im Unit-Pfad. Der Unit-Pfad ist die Summe von:

  • der fpc.cfg Datei (Linux, Mac OS X, BSD: /etc/fpc.cfg)
  • den Lazarus Compilereinstellungen. Siehe Projekt -> Compilereinstellungen...
    • -> Pfade -> Andere Unitdateien
    • -> Übernehmen -> All inherited options -> unit path (wenn verfügbar)
Note-icon.png

Hinweis: Sogar wenn es eine forms.ppu Datei im Unit-Pfad gibt, kann die obige Meldung erscheinen, weil FPC prüft, ob die ppu Datei gültig ist (aktuell). Die .ppu Datei ist gültig, wenn alle Dateien, von denen sie abhängig ist, gültig sind. Wenn sie ein anderes FPC installieren, werden alle .ppu Dateien auf ihrem System ungültig und müssen neu kompiliert werden.

Can't find unit interfaces

Die 'interfaces' Unit ist Teil der LCL. Sie müssen sie wenigstens einmal in ihrem Programm verwenden, um das LCL Interface (dem Plattform-abhängigen Teil der LCL. zum Beispiel GTK oder win32) einzubinden. Sie sehen diesen Fehler wenn

  • Stellen sie sicher, dass das Projekt das LCL Package verwendet. Siehe Projekt -> Projektinspektor... -> Benötigte Packages. Wenn dort LCL nicht aufgeführt ist, klicken sie auf den 'Hinzufügen ...' Button und dann 'Neue Anforderung', wählen LCL und drücken OK.
  • Stellen sie sicher, dass die Unit Teil des Projekts ist. Verwenden sie Projekt -> Datei im Editor ins Projekt aufnehmen.
  • Stellen sie sicher, dass 'interfaces.ppu' im Unit-Pfad ist, und die 'interfaces.pp' nicht im Unit-Pfad ist, ebenso dass sie nur eine 'interfaces.ppu' im Unit-Pfad haben. Sie können den Unit-Pfad sehen im Quelltexteditor -> Rechtsklick -> Popup Menü -> Unitinformation -> Unit Paths.
  • Stellen sie sicher, dass ihre kompilierte LCL zum installierten Compiler paßt. Wenn sie zum Beispiel einen neuen Compiler installiert haben, dann muss die LCL neu erstellt werden (zum Beispiel muss die interfaces.ppu neu erstellt werden).
  • Bei dem Installationspaket von Lazarus für Mac OS X tritt der Fehler dadurch auf, dass in der Standard Lazarus Installation nur die PPC Version der lcl installiert wird. Hier muss man im Lazarus Verzeichnis /Developer/lazarus dann ein make clean, make all und make install unter sudo ausführen.

Can't find unit LResources

Dies kann bereinigt werden durch Werkzeuge -> Lazarus erstellen.

Can't find unit System

Möglicherweise versuchen sie, ihr Projekt für ein anderes Zielbetriebssystem zu kompilieren. Prüfen sie "Projekt -> Compilereinstellungen -> Quelltext -> Zielbetriebssystem (-T)" und ändern es auf (Voreinstellung) oder lassen es leer.

Detaillierte Beschreibung des Themas

Es gibt eine Seite mit detaillierten Informationen über das Suchen von Units hier: Unit not found - How to find units