Difference between revisions of "FPC message: Can not find unit/de"

From Lazarus wiki
Jump to navigationJump to search
 
 
(10 intermediate revisions by 6 users not shown)
Line 6: Line 6:
 
   unit1.pas(40,42) Fatal: Can't find unit forms
 
   unit1.pas(40,42) Fatal: Can't find unit forms
  
Der Compiler hat keine kompatible forms.ppu Datei gefunden auch nicht eine Quelldatei (forms.pp oder forms.pas oder forms.p).
+
Der Compiler hat weder eine kompatible forms.ppu Datei noch eine Quelldatei (forms.pp oder forms.pas oder forms.p) gefunden.
  
Der Compiler sucht in dem Unit-Pfad. Der Unit-Pfad ist die Summe von:
+
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)
 
* der fpc.cfg Datei (Linux, Mac OS X, BSD: /etc/fpc.cfg)
Line 15: Line 15:
 
** -> Übernehmen -> All inherited options -> unit path (wenn verfügbar)
 
** -> Übernehmen -> All inherited options -> unit path (wenn verfügbar)
  
'''Anmerkung:''' 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.
+
{{Note|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 ==
 
== Can't find unit interfaces ==
  
Die 'interfaces' Unit ist Teil der LCL. Sie müssen sie wenigstens einmal in ihrem Programm verwenden to link in the LCL interface (dem Plattform-abhängigen Teil der LCL. zum Beispiel GTK oder win32).
+
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
 
Sie sehen diesen Fehler wenn
* Stellen sie sicher, daß das Projekt das LCL Package verwendet. Siehe Projekt -> Projektinspektor... -> Verlangte Pakete. Wenn dort nicht LCL 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 das Projekt das LCL Package verwendet. Siehe Projekt -> [[IDE_Window:_Project_Inspector/de|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, daß die Unit Teil des Projekts ist. Verwenden sie Projekt -> Datei im Editor ins Projekt aufnehmen.
+
* Stellen sie sicher, dass die Unit Teil des Projekts ist. Verwenden sie Projekt -> Datei im Editor ins Projekt aufnehmen.
* Stellen sie sicher, daß 'interfaces.ppu' im Unit-Pfad ist, und die 'interfaces.pp' '''nicht''' im Unit-Pfad ist. Und daß 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 '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, daß ihre kompilierte LCL zum installierten Compiler paßt. Zum Beispiel wenn sie einen neuen Compiler installiert haben, dann muß die LCL neu erstellt werden (zum Beispiel die interfaces.ppu muß neu erstellt werden).
+
* 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/de|Unit not found - How to find units]]
 +
<br>
 +
<br>
 +
 
 +
 
 +
[[Category:Lazarus/de]]

Latest revision as of 20:26, 20 January 2016

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)
Light bulb  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