64-bit -> 32-bit
-
- Beiträge: 65
- Registriert: Mi 27. Feb 2013, 18:24
- OS, Lazarus, FPC: Linux (L 0.9.30.4-1.1 FPC 2.6.0)
- CPU-Target: 32Bit
64-bit -> 32-bit
Hallo liebe Lazaruser,
ich habe nun vor, meine 32-bit-Kiste aufzurüsten und habe eine 64-Bit CPU gekauft. Ist es ohne weiteres möglich ein mit einem 64-Bit Lazarus ein Programm zu kompilieren, das auf einem 32-Bit Rechner läuft? (Alles nur Linux)
ich habe nun vor, meine 32-bit-Kiste aufzurüsten und habe eine 64-Bit CPU gekauft. Ist es ohne weiteres möglich ein mit einem 64-Bit Lazarus ein Programm zu kompilieren, das auf einem 32-Bit Rechner läuft? (Alles nur Linux)
Re: 64-bit -> 32-bit
1. Ich weiß gar nicht, ob man mit einem 64-Bit Lazarus ein 32 Bit Programmm compilieren kann. Ich weiß nicht wie/wo das gehen sollte. Meines Wissen geht nur 32 Bit Lazarus => 32 Bit Programm. 64 Bit Lazarus => 64 Bit Programm
2. Ist es kaum möglich ein 64 Bit Programm auf ein 32 Bit System zu starten (wohl aber umgekehrt).
2. Ist es kaum möglich ein 64 Bit Programm auf ein 32 Bit System zu starten (wohl aber umgekehrt).
-
- Beiträge: 65
- Registriert: Mi 27. Feb 2013, 18:24
- OS, Lazarus, FPC: Linux (L 0.9.30.4-1.1 FPC 2.6.0)
- CPU-Target: 32Bit
Re: 64-bit -> 32-bit
Das kling nun nicht sehr ermutigend. Kann ich denn auf meinem 64-bit pc mit einem debian amd-64 ein 32-bit compiler nebeneinander laufen lassen?
-
- Beiträge: 6899
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: 64-bit -> 32-bit
Mit einem Cross-Compiler ist dies möglich. Ich habe gerade folgendes kompiliert:Ist es ohne weiteres möglich ein mit einem 64-Bit Lazarus ein Programm zu kompilieren, das auf einem 32-Bit Rechner läuft? (Alles nur Linux)
Code: Alles auswählen
var
p : Pointer;
begin
Memo1.Lines.Add('Pointersize: ' + IntToStr(SizeOf(p)));
Wen du einen Crosscompilier erstellen willst, dann nimm am besten fpcupdelux.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 6899
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: 64-bit -> 32-bit
Theoretisch ja, aber ob dies mit den Paket quellen geht, kann ich nicht sagen. ich würde die fpcupdelux-Version vorziehen. So nebenbei kannst sogar Windows-Programme erzeugen.Kann ich denn auf meinem 64-bit pc mit einem debian amd-64 ein 32-bit compiler nebeneinander laufen lassen?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 65
- Registriert: Mi 27. Feb 2013, 18:24
- OS, Lazarus, FPC: Linux (L 0.9.30.4-1.1 FPC 2.6.0)
- CPU-Target: 32Bit
Re: 64-bit -> 32-bit
Danke Mathias für deine Anregungen mit dem fpcupdelux. Ist das aufwändig? Wo bekomme ich das Ding her? Im debian-Repository gibt es das Ding nicht.
P.S. Mit windows kann ich aber gar nichts anfangen. Hatte mal windows 98 in den Händen. Fand das grässlich.
P.S. Mit windows kann ich aber gar nichts anfangen. Hatte mal windows 98 in den Händen. Fand das grässlich.
-
- Beiträge: 65
- Registriert: Mi 27. Feb 2013, 18:24
- OS, Lazarus, FPC: Linux (L 0.9.30.4-1.1 FPC 2.6.0)
- CPU-Target: 32Bit
Re: 64-bit -> 32-bit
OK. Ich habe es nun gegoogelt und es gibt auch eine Lazarus-Anleitung. Ich hoffe ich komme damit zurecht.
http://wiki.freepascal.org/fpcupdeluxe
http://wiki.freepascal.org/fpcupdeluxe
-
- Beiträge: 65
- Registriert: Mi 27. Feb 2013, 18:24
- OS, Lazarus, FPC: Linux (L 0.9.30.4-1.1 FPC 2.6.0)
- CPU-Target: 32Bit
Re: 64-bit -> 32-bit
Und ich hätte da noch eine Frage. Funktionieren die zeos-libraries genauso auf 64.bit?
-
- Beiträge: 31
- Registriert: So 14. Aug 2011, 09:11
Re: 64-bit -> 32-bit
Ja, Zeos funktioniert unter 64bit genauso wie unter 32bit.
-
- Lazarusforum e. V.
- Beiträge: 999
- Registriert: Do 17. Apr 2008, 01:59
- OS, Lazarus, FPC: Mint 21.1 Cinnamon / FPC 3.2.2/Lazarus 2.2.4
- CPU-Target: Intel i7-10750 64Bit
- Wohnort: Freiburg
Re: 64-bit -> 32-bit
Bei Codetyphoon ist das kein Problem. Es kommt mit über 50 Toolchains für alle möglichen Crosscompiler-Aufgaben.Epcop hat geschrieben:1. Ich weiß gar nicht, ob man mit einem 64-Bit Lazarus ein 32 Bit Programmm compilieren kann. Ich weiß nicht wie/wo das gehen sollte. Meines Wissen geht nur 32 Bit Lazarus => 32 Bit Programm. 64 Bit Lazarus => 64 Bit Programm.
Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.
-
- Beiträge: 65
- Registriert: Mi 27. Feb 2013, 18:24
- OS, Lazarus, FPC: Linux (L 0.9.30.4-1.1 FPC 2.6.0)
- CPU-Target: 32Bit
Re: 64-bit -> 32-bit
Hier :
http://wiki.lazarus.freepascal.org/Cross_compiling
steht:
From Linux x64 to Linux i386
Chances are that your 64 bit linux distrubution is already capable of compiling 32 bit programs but due to the way the fpc build process is designed there are a couple of things you might have to do.
Wie verträgt sich das ,mit euren Antworten oben?
http://wiki.lazarus.freepascal.org/Cross_compiling
steht:
From Linux x64 to Linux i386
Chances are that your 64 bit linux distrubution is already capable of compiling 32 bit programs but due to the way the fpc build process is designed there are a couple of things you might have to do.
Wie verträgt sich das ,mit euren Antworten oben?
-
- Beiträge: 206
- Registriert: Di 10. Nov 2009, 18:49
- OS, Lazarus, FPC: macOS, 10.13, lazarus 1.8.x, fpc 3.0.x
- CPU-Target: 32Bit/64bit
Re: 64-bit -> 32-bit
Damit das geht, müssen zwei Vorraussetzungen erfüllt sein. 1) Der Freepascal compiler für 32 bit muss installiert sein. Ist das der Fall, dann können Programme erstellt werden, die nur die Bibliotheksroutinen von FreePascal verwenden. Ob das geht, kann man einfach mit dem Befehl "fpc -Pi386" oder "ppc386" überprüfen. 2) Programme, die mit Lazarus erstellt wurden, verwenden in den allermeisten Fällen Routinen der Lazarus-Component-Library (lcl) für die grafischen Elemente (Buttons, ...). Auf Linux greifen diese Routinen auf GTK-Routinen zu. Deshalb braucht man für diese Programme die entsprechenden GTK-Bibliotheken auch in 32bit.paulderfinne hat geschrieben:Hier :
http://wiki.lazarus.freepascal.org/Cross_compiling
steht:
From Linux x64 to Linux i386
Chances are that your 64 bit linux distrubution is already capable of compiling 32 bit programs but due to the way the fpc build process is designed there are a couple of things you might have to do.
Wie verträgt sich das ,mit euren Antworten oben?
Ich hoffe, das hilft weiter - MiSchi
Zuletzt geändert von mischi am Mi 22. Nov 2017, 17:10, insgesamt 1-mal geändert.
MiSchi macht die fink-Pakete
- gladio
- Beiträge: 223
- Registriert: Sa 21. Jun 2014, 06:15
- OS, Lazarus, FPC: Win10-64 - aktuelle Lazarus/FPC Standard-Edition
- CPU-Target: 64Bit
- Wohnort: Rügen
Re: 64-bit -> 32-bit
mal aus Neugier:
Wenn man auf einem 32-Bit-System eine Anwendung für 64-Bit erstellt, mit welchem Werkzeug auch immer,
statet diese 64-Bit-Anwendung auch auf dem 32-Bit-Sytem in der IDE?
Wenn man auf einem 32-Bit-System eine Anwendung für 64-Bit erstellt, mit welchem Werkzeug auch immer,
statet diese 64-Bit-Anwendung auch auf dem 32-Bit-Sytem in der IDE?
-
- Lazarusforum e. V.
- Beiträge: 3177
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: 64-bit -> 32-bit
Nein. Bei x86_64-Systemen startet der Prozessor erst im 32-Bit-Modus und wird vom Betriebssystem dann sehr früh in den 64-Bit-Modus umgeschaltet. Für 32-Bit-Programme wird der Prozessor dann kurzzeitig zurückgeschaltet.gladio hat geschrieben:mal aus Neugier:
Wenn man auf einem 32-Bit-System eine Anwendung für 64-Bit erstellt, mit welchem Werkzeug auch immer,
statet diese 64-Bit-Anwendung auch auf dem 32-Bit-Sytem in der IDE?
Im laufenden Betrieb kann der Prozessor aber nicht mehr von 32 auf 64 Bit umgeschaltet werden.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Re: 64-bit -> 32-bit
Mit zwei Compiler unter einer Lazarusinstallation, habe ich keine guten Erfahrungen gemacht.paulderfinne hat geschrieben:Kann ich denn auf meinem 64-bit pc mit einem debian amd-64 ein 32-bit compiler nebeneinander laufen lassen?
Was aber wohl geht, sind zwei Lazarusinstallationen nebeneinander. Meines Wissen kann man (muss man) das bei der Installation angeben. Erfahrungen habe ich damit aber nicht gemacht. Denke aber, die Idee mit zwei Lazarusinstallationen ist durchaus einen Versuch wert (vorher Backups machen
