Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   FreePascal (https://www.delphipraxis.net/74-freepascal/)
-   -   Lazarus: Release Build für 64 bit kompilieren? (https://www.delphipraxis.net/151222-lazarus-release-build-fuer-64-bit-kompilieren.html)

JamesTKirk 23. Mai 2012 13:24

AW: Re: Lazarus: Release Build für 64 bit kompilieren?
 
Zitat:

Zitat von Schwedenbitter (Beitrag 1167699)
Hallo,

Zitat:

Zitat von JamesTKirk (Beitrag 1020212)
32-Bit:
.. musst du dir entweder die 64-Bit Variante von Lazarus runterladen oder zumindest den 64-Bit Crosscompiler von Free Pascal (hier), diesen installieren, in Lazarus einrichten und die LCL neu kompilieren (falls du diesen zweiten Schritt wählst kann ich dir dann ausführlicher weiterhelfen, falls nötig).

auf dieses Angebot komme ich gern zurück.

Ich habe die obige Datei in der aktuellen Version installiert (habe den Link mal angepasst). Außerdem habe ich in der IDE gesehen, dass man über "Projekt", "Projekteinstellungen", "Compilereinstellungen" als Ausgabe "Win64" wählen kann. Es kommen dann aber diverse Fehlermeldungen, die ich jetzt nicht alle aufführen möchte.

Ich wüsste daher gern, wie man den 64bit fpc in Lazarus einrichtet und die LCL neu kompiliert.

Danke, Alex

Ooookaaaaayyy.... dann wollen wir mal.

Du musst in der IDE unter "Einstellungen => Einstellungen => Umgebung => Dateien" bei Compilerdateiname die "fpc.exe" (samt Pfad) deiner x86_64 Installation angeben.

Dann: verwendest du Lazarus 0.9.30 oder eine neuere Version (0.9.31, 1.1)?

Falls ersteres: Gehe nach "Werkzeuge => "Lazarus kompilieren" einrichten" und wähle bei "Profil zum Kompilieren" den Eintrag "LCL neu kompilieren" aus. Zusätzlich änderst du bei "Package-Registrierung" den Radiobutton auf "Bauen" (das Zahnrad ohne Pinsel). Die "LCL-Schnittstelle" sollte auf "Win32/Win64" stehen. Bei "Zielsystem" wählst du "Win64" und bei "Ziel-CPU" "x86_64". Per "Neukompilieren" wird dann die LCL für Win64 gebaut.

Falls zweiteres, dann brauchst du hier nichts spezielles machen.

Nun öffnest du "Projekt => Projekteinstellungen => Codegenerierung" und stellst auch hier "Ziel-Betriebssystem" auf "Win64" und "Ziel-CPU-Familie" auf "x86_64".

Nun solltest du dein Projekt kompilieren können. Im Fall von Lazarus 0.9.31 und 1.1 wird die LCL nun automatisch für x86_64-win64 neu gebaut. Anschließend wird dann deine Anwendung kompiliert und gelinkt.

Eventuell könntst du jetzt noch mit dem Debugger Schwierigkeiten haben (keine Ahnung), weswegen du ihn für's erste unter "Einstellungen => Einstellungen => Debugger => Allgemein" deaktivieren solltest ("(none)" in der Combobox auswählen).

Ich hoffe das hilft dir schonmal weiter. Wenn nicht, dann meldest du dich einfach nochmal :)

Gruß,
Sven

Schwedenbitter 23. Mai 2012 18:11

AW: Lazarus: Release Build für 64 bit kompilieren?
 
Tausend Dank für die prompte Antwort! Ich muss Dich aber nochmal zügeln:

Zunächst einmal meine Frage, wohin muss ich den 64-Bit Crosscompiler installieren?
Ich habe an mehreren Stellen im Netz gelesen, dass manche es einfach über den 32bit-FPC im Pfad von Lazarus installiert haben. Das scheint mir aber keine so gute Idee, weil dann manche Dateien einfach überschrieben werden. Ich hatte es dann so versucht, bevor ich mich ans Forum/Dich wandte:
32 bit: ...\lazarus\fpc\2.6.0
64 bit: ...\lazarus\fpc\2.6.0_x_64

Wenn dieses "Problem" geklärt ist, werde ich dann Deine Anleitung mal nachvollziehen.

Gruß & Dank, Alex

Schwedenbitter 23. Mai 2012 22:50

AW: Lazarus: Release Build für 64 bit kompilieren?
 
Folgender kurzer Zwischenbericht:

Also der Installer für den Cross-Compiler legt zusätzliche Dateien an. Man kann (vermutlich muss) ihn daher im selben Verzeichnis wie FPC installieren. Es wird im Unterverzeichnis Units im Falle vom FPC für Windows 64bit ein weiteres Namens
Delphi-Quellcode:
x64_64-win64
angelegt.

Ich habe Lazarus heute runtergeladen. Da war die aktuelle, als stable bezeichnete Version die 0.9.30.4. Ich musste also das Prozedere durchziehen. Der Debugger läuft mit der so erzeugten 64bit-Version des Programmes nicht, was bei einem 32bit-System nicht verwunderlich ist. Gleiches gilt für strip.exe, um die Dateigröße auf ein erträgliches Maß zu bringen.
Leider kann ich auch erst morgen testen, ob die exe-Datei auf einem Windows 7 64bit läuft. Wenn dem so ist, bedanke ich mich schon einmal im voraus für die schnelle und sehr präzise Hilfe! :dp:

Gruß, Alex

JamesTKirk 24. Mai 2012 10:14

AW: Lazarus: Release Build für 64 bit kompilieren?
 
Zitat:

Zitat von Schwedenbitter (Beitrag 1167814)
Folgender kurzer Zwischenbericht:

Also der Installer für den Cross-Compiler legt zusätzliche Dateien an. Man kann (vermutlich muss) ihn daher im selben Verzeichnis wie FPC installieren. Es wird im Unterverzeichnis Units im Falle vom FPC für Windows 64bit ein weiteres Namens
Delphi-Quellcode:
x64_64-win64
angelegt.

Ja, dann kann er in das selbe Verzeichnis wie die 32-Bit Installation.

Zitat:

Zitat von Schwedenbitter
Ich habe Lazarus heute runtergeladen. Da war die aktuelle, als stable bezeichnete Version die 0.9.30.4. Ich musste also das Prozedere durchziehen. Der Debugger läuft mit der so erzeugten 64bit-Version des Programmes nicht, was bei einem 32bit-System nicht verwunderlich ist. Gleiches gilt für strip.exe, um die Dateigröße auf ein erträgliches Maß zu bringen.
Leider kann ich auch erst morgen testen, ob die exe-Datei auf einem Windows 7 64bit läuft. Wenn dem so ist, bedanke ich mich schon einmal im voraus für die schnelle und sehr präzise Hilfe!

Auf einem 32-Bit-System kannst du natürlich in der Tat keine 64-Bit Anwendung laufen lassen (Ausnahmen wie die Anwendungsvirtualisierung von QEMU unter Linux lasse ich mal außen vor). Was du aber machen kannst, um die Dateigröße zu verringern ist entweder ohne Debuginformationen zu kompilieren oder die Debuginformationen in einen eigene Datei auslagern lassen. Beides kannst du unter "Projekt => Projekteinstellungen => Linken" einstellen. Letzteres ist die Option "-Xg" und ersteres erreichst du, indem du alle Debugspezifischen Optionen abschaltest und zusätzlich die Option "-Xs" aktivierst.

Als kleiner Richtwert: Eine LCL-Anwendung mit einem leeren Formular hat ohne Debuginformationen circa 1,5 MB (viel mehr sollte auch strip.exe nicht schaffen).

Gruß,
Sven


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:48 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz