Einzelnen Beitrag anzeigen

Benutzerbild von JamesTKirk
JamesTKirk

Registriert seit: 9. Sep 2004
Ort: München
604 Beiträge
 
FreePascal / Lazarus
 
#19

AW: Auf Windows Eine Konsolenanwendung für Linux schreiben

  Alt 4. Jul 2011, 08:39
Lass mich erstmal eins vorneweg sagen: von Windows nach Linux (oder einem anderen *nix System) zu kompilieren ist eine frickelige Angelegenheit. Das ist dabei nicht Free Pascal anzulasten, sondern der Tatsache wie das Linken von Anwendungen zu DLLs funktioniert.

Demnach lautet meine erste Empfehlung: Lade dir Ubuntu runter und installier das in einer VM. Das wird dann am Ende um einiges leichter sein.

Falls du dennoch weitermachen möchtest, bitte sehr:
  • installiere dir FPC 2.4.4 für Windows z.B. nach C:\FPC\2.4.4, was der Standard ist; ich bezeichne dieses Verzeichnis nun als %FPCDIR%
  • lade dir den Quellcode zu Free Pascal herunter, den findest du zum Beispiel hier
  • entpacke den Code nun so, dass sich die Verzeichnisse rtl, compiler, packages usw. direkt innerhalb des %FPCDIR% Verzeichnisses befinden.
  • entpacke die binutils für Linux, welche du ja bereits heruntergeladen hast, und kopiere sie nach %FPCDIR%\bin\i386-win32 (dieses Verzeichnis sollte bereits existieren); nun sollten dort Anwendungen wie i386-linux-as.exe, etc. liegen
  • Öffne ein Kommandozeilenfenster und gib als erstes set PATH=c:\fpc\2.4.4\bin\i386-win32 ein (wobei c:\fpc\2.4.4 natürlich das %FPCDIR% von oben ist)
  • das nächste Kommando ist cd c:\fpc\2.4.4 (bzw. eben dein %FPCDIR%), wobei du je nach deiner Umgebung erst das Laufwerk wechseln musst; hast du FPC zum Beispiel auf D:\ installiert, so musst du zuerst d: eingeben und mit Enter bestätigen
  • nun führst du make all OS_TARGET=linux aus
  • war dies erfolgreich, so kommt noch ein make crossinstall OS_TARGET=linux INSTALL_PREFIX=c:\fpc\2.4.4 (natürlich wieder auf deine Verzeichnisstruktur anpassen)
  • nun kannst du mal ein einfaches Hello World Programm anlegen und eine Kompilation mittels fpc -Tlinux hello.pas testen

Ich hoffe dies hilft dir weiter. Wenn dies erfolgreich funktioniert, dann kann man sich damit befassen diesen CrossCompiler unter Lazarus zu verwenden.
Dennoch rate ich dir nochmals zur Installation eines Linux. Besonders wenn Shared Libraries (das DLL Äquivalent unter Linux) hinzukommen

Gruß,
Sven
Sven
[Free Pascal Compiler Entwickler]
this post is printed on 100% recycled electrons
  Mit Zitat antworten Zitat