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

From Free Pascal wiki
Jump to navigationJump to search
m
 
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
{{FPC message: Can not find unit}}
 
{{FPC message: Can not find unit}}
  
hamarosan....
+
 
<!--
+
= FPC üzenet: A unit nem található =
== Általános ==
+
 
 +
 
 +
__TOC__
 +
 
 +
 
 +
''A szakaszok címei szándékosan maradtak az eredeti angol nyelvű hibaüzenetek.''
 +
 +
== Általánosságban ==
  
 
Példa:
 
Példa:
Line 10: Line 17:
 
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ó nem találja a kompatibilis forms.ppu fájlt és annak forrását sem (forms.pp vagy forms.pas vagy forms.p).
  
A fordtó 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
 
** -> Inherited -> All inherited options -> unit path (if available)
 
** -> 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 lazarust érdemes terminál (parancssor) ablakban futtatni, hogy láthatóak legyenek az FPC hibaüzenetei.
+
'''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 ==
 
== Can't find unit interfaces ==
  
Az 'interfaces' unit az LCL része.  
+
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).
Legalább egyszer használnod kell a programodban hogy az LCL felület---------------
+
Ha ezt a hibaüzenetet kapod:
You must use it at least once in your program to link in the LCL interface (the platform dependent part of the LCL. For instance gtk or win32).
+
* 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;
You see this error, if
+
* Ellenőrizd hogy a unit része a projektnek. Használd a "Project -> Add editor file to project" menüpontot;
* Make sure the project uses the LCL package. See Project -> Project Inspector -> Required Packages. If there is no LCL click on the 'Add' button and then 'New Requirement', select the LCL and press Ok;
+
* 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;
* Make sure the unit is part of the project. Use Project -> Add editor file to project;
+
* 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) );
* Make sure the 'interfaces.ppu' is in the unit path, and the 'interfaces.pp' is '''not''' in the unit path. And that you only have one 'interfaces.ppu' in the unit path. You can see the unit path in Source Editor -> Right mouse click -> Popup Menu -> Unit Info -> Unit Paths;
+
* 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).
* Make sure your compiled LCL fits to the installed compiler. For example if you installed a new compiler, then the LCL must be rebuilt (for example the interfaces.ppu must be rebuilt (You must be loged in as admin to rebuild) );
+
* 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).
* Make sure the project compiles the correct (current) widgetset. See Project -> Compiler Options -> Path -> LCL Widget Type (various). Change it to "default (*****)" to use default widgetset. If you don't want compiles with default widgetset, then change this value to any value, and recompile LCL to respective widgetset (win32/win64, gtk, gtk2, etc).
 
* Make sure the project compiles the correct "Target CPU". See "Project -> Compiler Options -> Code -> Target CPU (-P)" and change them to (Default) (or in blank).
 
  
 
== Can't find unit LResources ==
 
== Can't find unit LResources ==
Line 38: Line 43:
 
== Can't find unit System ==
 
== Can't find unit System ==
  
Maybe you're trying compile your project to other "Target OS". See "Project -> Compiler Options -> Code -> Target OS (-T)" and change them to (Default) (or in blank).
+
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]]
+
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]]
-->
 

Latest revision as of 21:28, 20 January 2016

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


FPC üzenet: A unit nem található


A 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