Cross-compilation from Win32 to GO32v2/hu: what changed
Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.
Title: Cross-compilation from Win32 to GO32v2/hu
| Old | New | Line | |
|---|---|---|---|
| 1 | + | <font size="7">Keresztfordítás Windows rendszeren GO32v2-re</font> | |
| 2 | + | ||
| 3 | + | Általánosságban elmondható, hogy az FPC támogatja a keresztfordítást, feltéve hogy rendelkezel a szükséges programokkal (assembler és linker) abban a bin könyvtárban ahová az FPC telepítve lett ((ez a i386-win32 a Win32 esetében). Ezek olyan programok melyek a gazdarendszeren (amelyen fordítasz) futnak, de az (eltérő) célrendszeren futtatható binárisokat hoznak létre. E programok fájlneveinek elején a célrendszer meghatározásának ott kell lennie (pl.: "i386-linux-as.exe" vagy "i386-go32v2-ld.exe"). | |
| 4 | + | ||
| 5 | + | Amikor kifejezetten GO32v2 célrendszerről beszélünk Win32 alatt, Akkor tobb lehetséges megoldás kínálkozik. A szokásos eljárás (működik GO32v2 esetén is), hogy elkészítjük a valódi keresztfordító programokat, például lefordítjuk az as.exe GO32v2 változatát a GNU C Win32 változatának segítségével (Cygwin vagy MingW32), hogy Win32 alatt valódi GO32v2 binárisokat hozhassunk létre. Ez az egyetlen járható út bizonyos rendszereken (Linux, FreeBSD, Netware etc.). Néhány gazdarendszer-célrendszer kombinációhoz előre elkészített keresztfordító eszközök letölthetők az [FTP szerverünkről](ftp://ftp.freepascal.org/pub/fpc/contrib/cross/) - ha elkészítetted ezeket más rendszerek kombinációjához is, vagy valamelyikhez új változatot készítettél (és sikeresen tesztelted is), szívesen fogadjuk ha közzéteszed őket. | |
| 6 | + | ||
| 7 | + | A második lehetőség, hogy kihasználjuk a WinXX képességét a DOS binárisok futtatására és csak bemásoljuk a GNU eszközök GO32v2 változatait egy új helyre más néven. Ez azonban bizonyos korlátozásokat von magával (pl.: a parancssorok hosszának maximuma), de általában működik (bár nem hiszem hogy ez a jobb megoldás - viszont az egyszerűbb). | |
| 8 | + | ||
| 9 | + | Természetesen minkét esetben mind a kettő RTL elérhető legyen. A GO32v2 fordító az RTL unitokat a /units/go32v2/rtl könyvtárban keresi (hogy képes legyen futni normál DOS környezetben is amely csak 8.3 formátumú fájlneveket támogat), viszont a Win32 fordító (az IDE beépített fordítója) a könyvtárneveket a célrendszer teljes nevével várja (i386-go32v2), ezért át kell nevezned a GO32v2 csomagban terjesztett könyvtárat (ha már nem akarod többé használni az eredeti Go32v2 fordítót), vagy készíts egy másolatot. | |
| 10 | + | ||
| 11 | + | Végül, a debugger (hibakereső) a kersztfordított program esetén (a GO32v2 bináris hibakeresése Win32 IDE-ben) nem lehetséges jelenleg. A megoldás a GO32v2 IDE (vagy önálló GO32v2 gdb) használata. | |
| 12 | + | ||
| 13 | + | További információkat a keresztfordításról FPC-vel a [[Cross compiling/hu|Keresztfordítás]] és a [[Cross compiling for Win32 under Linux/hu|Keresztfordítás Windows-ra Linux renszeren]] című részekben találsz (a leírások elsődlegesen a Lazarus használatát mutatják be, de tartalmaznak FPC-re vonatkozó információkat is). A fordító létrehozásáról (részben a keresztfordítóról is) információkat találhatsz a [[buildfaq/hu|buildfaq]] részben. | |
| 14 | + | ||
| 15 | + | ### GO32v2 binárisok létrehozása a WinXX DOS ablakában | |
| 16 | + | ||
| 17 | + | Sima DOS programokat a következő módon tudsz létrehozni Win32 rendszeren: Tepepítsd az FPC GO32v2 változatát Win32 alatt a \ppdos könyvtárba (vagy más helyre, melynek neve 8.3 formátumú). Telepítsd az FPC Win32 változatát a \ppwin könyvtárba. Készítsd el a programot a Win32 változattal. Amikor már minden jól működik, használd a parancssort (DOS ablak) és fordítsd le a forráskódoda GO32v2 változatával (természetesen tudatnod kell a fordítóval (paraméterekkel a parancssorban), hogy hol találhatók a unit-jaid. A kapott *.exe rendesen fut majd amíg a DPMI elérhető (a *.exe programoddal együtt kell terjesztened a cwsdpmi.exe fájlt, amely megtalálható az FPC könyvtárában). Ha nem akarsz különálló DPMI kezelőt akkor a következő eljárások egyikét kell alkalmaznod vagy sima DOS alatt kell fordítanod a programod (a Win98 megengedi a DOS-ba bootolást). A hosszú fájlnevek problémájának elkerülése érdekében a "subst" parancsot használhatod, pl.: "subst b: c:\documents...." parancs hatására a B: meghajón találod majd azokat a fájlokat melyek egyébkénta c:\documents... könyvtárban találhatók (ez a megoldás akkor is jól működik ha DOS ablakban kell bajlódni a Win32 hosszú fájlnevű könyvtárszerkezetével). | |
| 18 | + | ||
| 19 | + | --- | |
| 20 | + | *From the Free Pascal wiki, page "Cross-compilation from Win32 to GO32v2/hu", as it stood on 2015-07-14 after a change by FTurtle, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).* | |
| 21 | + | Category: Magyar |
