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

From Lazarus wiki
Jump to navigationJump to search
m (hibajavítás)
Line 17: Line 17:
 
A fordító a unit útvonalakon keres. A unit útvonalak a következők:
 
A fordító a unit útvonalakon keres. A unit útvonalak a következők:
  
* Az fpc.cfg fájlban megadva (linux, mac os x, bsd: /etc/fpc.cfg)
+
* Az fpc.cfg fájlban megadva (Linux, MAC OS X, BSD: /etc/fpc.cfg)
 
* A Lazarus fordítási beállításai. Lásd: Project -> Compiler Options
 
* A Lazarus fordítási beállításai. Lásd: Project -> Compiler Options
 
** -> Paths -> Other unit files
 
** -> Paths -> Other unit files
Line 43: Line 43:
 
Talán egy másik operációs rendszerre próbálod lefordítani a projektedet. A menüből indulva: "Project -> Compiler Options -> Code -> Target OS (-T)" és állítsd alapértelmezettre (Default) (vagy hagyd üresen).
 
Talán egy másik operációs rendszerre próbálod lefordítani a projektedet. A menüből indulva: "Project -> Compiler Options -> Code -> Target OS (-T)" és állítsd alapértelmezettre (Default) (vagy hagyd üresen).
  
== Részletesebb leírás ezzekkel kapcsolatban ==
+
== Részletesebb leírás ezekkel kapcsolatban ==
  
 
Részletesebb leírást a unitok keresésével kapcsolatban itt találsz: [[Unit not found - How to find units/hu|Unit nem található - Hogyan találhatók meg a unit-ok]]
 
Részletesebb leírást a unitok keresésével kapcsolatban itt találsz: [[Unit not found - How to find units/hu|Unit nem található - Hogyan találhatók meg a unit-ok]]

Revision as of 21:45, 28 September 2010

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


FPC üzenet: A unit nem található


Az szakaszok címei szándékosan maradtak az eredeti angol nyelvű hibaüzenetek.

Általánosságban

Példa:

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

A fordító nem találja a kompatibilis forms.ppu fájlt és annak forrását sem (forms.pp vagy forms.pas vagy forms.p).

A fordító a unit útvonalakon keres. A unit útvonalak a következők:

  • Az fpc.cfg fájlban megadva (Linux, MAC OS X, BSD: /etc/fpc.cfg)
  • A Lazarus fordítási beállításai. Lásd: Project -> Compiler Options
    • -> Paths -> Other unit files
    • -> Inherited -> All inherited options -> unit path (if available)

Megjegyzés: Ilyen hibaüzenetet akkor is kaphatsz ha létezik a unit, mert az FPC ellenőrzi, hogy az adott unit érvényes-e (naprakész). A .ppu akkor tekinthető érvényesnek ha az összes fájl amire a unit épül érvényes. Ha egy másik FPC-t telepítesz akkor a rendszereden az összes unit érvénytelen lesz és újra kell fordítani őket. A lazarus-t érdemes terminál (parancssor) ablakban futtatni, hogy láthatóak legyenek az FPC hibaüzenetei.

Can't find unit interfaces

Az 'interfaces' unit az LCL része. Legalább egyszer használnod kell a programodban hogy beépítésre kerüljön az LCL felület (rendszerfüggő része. Például: gtk vagy win32). Ha ezt a hibaüzenetet kapod:

  • Ellenőrizd hogy a projekt használja-e az LCL csomagot. A menüből indulva: "Project -> Project Inspector -> Required Packages". Ha nincs ott az LCL akkor kattints az 'Add' gombra, majd a 'New Requirement'-re, válaszd az LCL-t és nyomj az 'Ok'-ra;
  • Ellenőrizd hogy a unit része a projektnek. Használd a "Project -> Add editor file to project" menüpontot;
  • Ellenőrizd hogy az 'interfaces.ppu' elérhető a unitok keresési útvonalán, és hogy az 'interfaces.pp' ne legyen a unitok keresési útvonalán. Valamint, hogy scak egy 'interfaces.ppu' van a a unitok keresési útvonalán. A unitok keresési útvonalát megnézheted ha jobb gombal kattintasz a forráskód-szerkesztőben és a megjelenő menüben kiválasztod a "Unit Info -> Unit Paths" menüpontot;
  • Ellenőrizd hogy a lefordított LCL illeszkedik-e a fordítóhoz. Például ha egy új fordítót telepítettél akkor az LCL újraépítése szükséges (pl.: az interfaces.ppu újraépítése is (ehhez egyes rendszereken rendszergazdaként kell bejelnetkezni) );
  • Ellenőrizd hogy a projektet a megfelelő (aktuális) widgetset használatával fordítod. A menüből indulva: "Project -> Project Options -> Compiler Options -> Path -> LCL Widget Type (various)". Állítsd alapértelmezettre ("default (*****)") az alapértelmezett widgetset használatához. Ha nem az alapértelmezettet akarod használni akkor állítsd át bármire, és fordítsd újra az LCL-t az illető widgetset-re (win32/win64, gtk, gtk2, etc).
  • Ellenőrizd hogy a megfelelő processzorra fordítasz. A menüből indulva: "Project -> Project Options -> Compiler Options -> Code -> Target CPU (-P)" és állítsd alapértelmezettre (Default) (vagy hagyd üresen).

Can't find unit LResources

Megoldható a "Tools/Build Lazarus" menüponttal.

Can't find unit System

Talán egy másik operációs rendszerre próbálod lefordítani a projektedet. A menüből indulva: "Project -> Compiler Options -> Code -> Target OS (-T)" és állítsd alapértelmezettre (Default) (vagy hagyd üresen).

Részletesebb leírás ezekkel kapcsolatban

Részletesebb leírást a unitok keresésével kapcsolatban itt találsz: Unit nem található - Hogyan találhatók meg a unit-ok