Windows 7 x64 32-Bit Lazarus kompilieren

Für Installationen unter Windows

Windows 7 x64 32-Bit Lazarus kompilieren

Beitragvon TheSaint » 24. Jun 2010, 09:31 Windows 7 x64 32-Bit Lazarus kompilieren

Hallo,

ich habe Lazarus für x64 unter Windows 7 x64 installiert. Hat alles gut geklappt und ich kann 64 Bit-Anwendungen kompilieren. Nun möchte ich gerne auch 32-Bit Anwendungen erstellen können.
Irgendwie komme ich mit dem kompilieren für die Cross Plattform nicht klar. Ich habe mir die FPC Sourcen heruntergeladen (ftp://ftp.freepascal.org/pub/fpc/dist/2 ... source.zip) und diese entpackt. Wenn ich das richtig verstanden haben, muss ich nun mit make die sourcen für x32 kompilieren. So richtig: make all install OS_TARGET=win32 CPU_TARGET=i386 INSTALL_PREFIX=C:\lazarus\fpc\2.2.4
Da habe ich das erste Problem. Ich weiß nicht, wo ich das make.exe hernehmen soll. Im Verzeichniss C:\lazarus\fpc\2.2.4\bin\x86_64-win64 habe ich eine make.exe. Ist die richtig?! Gebe ich nur make im entpackten fpc-2.2.4.source Ordner an, verwendet er make von Inprise und das ist ja das falsch.
Kann mir jemand erklären, wie ich das machen muss?

Vielen Dank
Sascha
TheSaint
 
Beiträge: 4
Registriert: 24. Jun 2010, 09:16

Beitragvon Socke » 24. Jun 2010, 11:56 Re: Windows 7 x64 32-Bit Lazarus kompilieren

Vielleicht solltest du darüber nachdenken auf FreePascal Version 2.4.0 zu updaten; das ist die aktuell neuste stabile Version.

Zu deinem Problem:
Wenn du mehrere make von verschiedenen Herstellern hast, musst du dafür sorgen, dass das richtige ausgeführt wird. Wichtig ist, dass dieses mit GNU make kompatibel ist; du kannst also das von Lazarus verwenden.
Code: Alles auswählen
C:\lazarus\fpc\2.2.4\bin\x86_64-win64\make.exe all install [usw. die anderen Parameter]

Alternativ kannst du auch deine Umgebungsvariable PATH verändern, sodass das Lazarus-make zuerst gefunden wird. Dann kann es aber sein, dass andere Anwendungen (die das Inprise make erwarten) nicht mehr richtig funktionieren.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Socke
Lazarusforum e. V.
 
Beiträge: 2631
Registriert: 22. Jul 2008, 18:27
Wohnort: Köln
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE | 
CPU-Target: 32bit x86 armhf
Nach oben

Beitragvon TheSaint » 24. Jun 2010, 14:29 Re: Windows 7 x64 32-Bit Lazarus kompilieren

Danke für die Antwort. Das updaten auf 2.4.0 werde ich mal machen.

Ich habe das mit dem make versucht. Es wurde auch einiges kompiliert, aber dann mit einem Fehler abgebrochen:
Code: Alles auswählen
C:/lazarus/fpc/2.2.4/bin/x86_64-win64/gmkdir.exe -p i386/units/x86_64-win64
C:/Daten/DL/Lazarus/fpc-2.2.4.source/fpc-2.2.4/compiler/ppc.exe -Ur -Xs -O2 -n -
Fui386 -Fusystems -FuC:/Daten/DL/Lazarus/fpc-2.2.4.source/fpc-2.2.4/rtl/units/x8
6_64-win64 -Fii386 -FE. -FUi386/units/x86_64-win64 -dRELEASE  -di386 -dGDB -dBRO
WSERLOG -Fux86 pp.pas
fpcdefs.inc(96,2) Error: User defined: Cross-compiling from non-i386 to i386 is
not yet supported at this time
fpcdefs.inc(96,2) Error: User defined: Cross-compiling from non-i386 to i386 is
not yet supported at this time
fpcdefs.inc(96,2) Error: User defined: Cross-compiling from non-i386 to i386 is
not yet supported at this time
cutils.pas(148,1) Fatal: There were 3 errors compiling module, stopping
Fatal: Compilation aborted
make.exe[3]: *** [ppcross386.exe] Error 1
make.exe[3]: Leaving directory `C:/Daten/DL/Lazarus/fpc-2.2.4.source/fpc-2.2.4/c
ompiler'
make.exe[2]: *** [cycle] Error 2
make.exe[2]: Leaving directory `C:/Daten/DL/Lazarus/fpc-2.2.4.source/fpc-2.2.4/c
ompiler'
make.exe[1]: *** [compiler_cycle] Error 2
make.exe[1]: Leaving directory `C:/Daten/DL/Lazarus/fpc-2.2.4.source/fpc-2.2.4'
C:\lazarus\fpc\2.2.4\bin\x86_64-win64\make.exe: *** [build-stamp.i386-win32] Err
or 2


Hast du eine Idee was das sein könnte?
TheSaint
 
Beiträge: 4
Registriert: 24. Jun 2010, 09:16

Beitragvon Socke » 24. Jun 2010, 15:42 Re: Windows 7 x64 32-Bit Lazarus kompilieren

Die Datei cutils.pas bindet die Datei fpcdefs.inc ein (so wie wahrscheinlich viele andere auch). Bei dem Versuch diese zu übersetzen, wird in Zeile 96 (Buchstabe 2) ein benutzerdefinierter Fehler (Error) ausgelöst. Die Meldung
Code: Alles auswählen
fpcdefs.inc(96,2) Error: User defined: Cross-compiling from non-i386 to i386 is not yet supported at this time
interpretiere ich so, dass crosscompiling auf i386 bei dir nicht möglich ist.
Ich habe in meinen Quellen der Version 2.4.0 diese Zeilen aber nicht gefunden; vielleicht hast du hier mehr Erfolg.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Socke
Lazarusforum e. V.
 
Beiträge: 2631
Registriert: 22. Jul 2008, 18:27
Wohnort: Köln
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE | 
CPU-Target: 32bit x86 armhf
Nach oben

Beitragvon edewolf78 » 25. Jun 2010, 11:04 Re: Windows 7 x64 32-Bit Lazarus kompilieren

Hallo Sascha,
ich habe es so gelöst und bei mir funktionierts:
ich habe mir beide Pakete geholt, d.h Lazarus für Win x64 und für Win x32, dann habe ich Lazarus für Win x32 installiert und danach Lazarus für Win x64 (mit dem gleichen Zielverzeichnis) es werden für beide Ziele eigene Unterverzeichnisse eingerichtet "i386-win32" und "x86_64-win64". Um das Ziel dann auszuwählen muss man in Lazarus unter "Projekt->Compilereinstellung->Quelltext"
Zielbetriebssystem "Win64"/i386" und die entsprechende Ziel-CPU-Familie "x86_64"/"i386" UND unter "Einstellungen"
die Pfade bei "Compilerdateiname : ...\fpc\2.4.0\bin\x86_64-win64\fpc.exe" / "....\fpc\2.4.0\bin\i386-win32\fpc.exe" und zu dem entsprechendem make "Pfad zum Make-Programm: ...\fpc\2.4.0\bin\x86_64-win64\make.exe" / "....\fpc\2.4.0\bin\i386-win32\make.exe". Beim Umschalten des Ziels kommt es zu Fehlermeldungen, die aber ignoriert werden können.Wichtig : die Einstellungen müssen zueinander passen, sonst gibt es tausende Fehler! So wie ich die Doku verstanden habe, kann der Win x64 Compiler und make nur für Ziel Win x64 und der Win x32 nur für Ziel x32 verwendet werden. Ob ich das alles richtig verstanden und eingerichtet habe, weiss ich nicht - bei mir funktioniert es af jeden Fall so.

ich habe Lazarus 0.9.29 + fpc 2.4.0 für Win x64 und Win x32


Gruss Edwin
edewolf78
 
Beiträge: 12
Registriert: 23. Nov 2009, 18:42
Wohnort: Ludwigsburg
OS, Lazarus, FPC: Win (L 0.9.29 FPC 2.4.0) | 
CPU-Target: x32/x64
Nach oben

Beitragvon TheSaint » 8. Jul 2010, 09:26 Re: Windows 7 x64 32-Bit Lazarus kompilieren

Hallo,

erstmal Danke für die vielen Antworten.
Ich habe jetzt erstmal alles wieder deinstalliert und dann noch mal neu installiert. Erst x32 dann x64 mit FPC 2.4.0. Die Einstellungen wie Edewolf beschrieben habe ich vorgenommen und ich kann auch erfolgreich kompilieren. Anhand der Einstellungen kompiliert Lazarus entweder win32 oder win64. Leider habe ich noch ein Problem mit dem debuggen. Eine normale Windows Form Anwendung kann ich nicht über Lazarus starten(F9). Es wird zwar kompiliert: Projekt "project1" erfolgreich kompiliert. :) aber die Form wird nicht richtig geladen. Im Taskmanager sehe ich zwar project1.exe, jedoch sonst nichts. Stoppen beendet dann die Ausführung. Hat jemand eine Idee, was das noch sein kann?

Danke
Sascha
TheSaint
 
Beiträge: 4
Registriert: 24. Jun 2010, 09:16

Beitragvon theo » 8. Jul 2010, 09:39 Re: Windows 7 x64 32-Bit Lazarus kompilieren

Auch wenn der Debugger ausgeschaltet ist?
theo
 
Beiträge: 8193
Registriert: 11. Sep 2006, 18:01

Beitragvon TheSaint » 8. Jul 2010, 09:52 Re: Windows 7 x64 32-Bit Lazarus kompilieren

Debugger auf "none" gestellt, dann ist die Form sichtbar.
TheSaint
 
Beiträge: 4
Registriert: 24. Jun 2010, 09:16

Beitragvon Foxi1896 » 27. Jun 2013, 09:01 Re: Windows 7 x64 32-Bit Lazarus kompilieren

Hallo zusammen,

habe das gleich Problem möchte meine x64 version auf x32 umkompilieren.
Aber wo ich das jetzt von edewolf versuche hört bei mir schon am Anfang auf wo finde ich bei Comiliereinstellung den Quelltext?
Und da die Beträge schon 3 Jahre her sind wollte ich fragen ob es in der Zeit eine einfachere Methode gbit?

Gruß
Foxi
Foxi1896
 
Beiträge: 87
Registriert: 10. Jun 2013, 08:06

Beitragvon alex1972 » 18. Jul 2013, 13:23 Re: Windows 7 x64 32-Bit Lazarus kompilieren

Ja, das würde mich auch interessieren! Bild Bild Bild
alex1972
 
Beiträge: 1
Registriert: 18. Jul 2013, 07:23

• Themenende •

Zurück zu Windows



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

porpoises-institution
accuracy-worried