Größe der exe-Datei dauerhaft reduzieren

Für Installationen unter Windows
Antworten
lzuser
Beiträge: 97
Registriert: Sa 20. Jun 2009, 16:00
OS, Lazarus, FPC: Win10 20H2, Laz 2.0.8 auch Linux Mint Mate 20, Laz 2.0.6
CPU-Target: 64Bit

Größe der exe-Datei dauerhaft reduzieren

Beitrag von lzuser »

WinXP - FPC 2.2.2 - Lazarus 0.9.28.2 Beta

Vor einiger Zeit (0.0.26.2) fragte ich schon mal unter "Diverse Einstellungen"
1. Größe der exe-Datei (Anleitung gelesen!)
Haken löschen: Zeilennummern ... (-gl): Nur dadurch (sonst passiert nichts) Reduzierung von 12MB auf 1,8MB

Nach dieser Änderung war aber nachvollziehbar in Lazarus keine exe-Datei mehr gestartet.
Dieses letzte Problem ist offensichtlich mit 0.9.28.2 gelöst und die exe startet wie gewohnt

Nun meine ergänzende Frage:
Kann ich irgendwo in der fpc.cfg die Einstellung "Haken löschen: Zeilennummern ... (-gl)"
dauerhaft für alle Projekte einstellen?

Vielen Dank.

Hitman
Beiträge: 512
Registriert: Mo 25. Aug 2008, 18:17
OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
CPU-Target: x86
Wohnort: Chemnitz

Re: Größe der exe-Datei dauerhaft reduzieren

Beitrag von Hitman »

Keine gute Idee, denn zum Entwickeln solltest du schon mit -gl arbeiten, sonst hast du keinen brauchbaren Debugger.

knight
Beiträge: 802
Registriert: Mi 13. Sep 2006, 22:30

Re: Größe der exe-Datei dauerhaft reduzieren

Beitrag von knight »

In den Projekteinstellungen (welche mittlerweile auch die Compilereinstellungen beinhalten) gibt es jetzt eine Checkbox: Diese Einstellungen gelten als Vorgabe für neue Projekte.

knight

lzuser
Beiträge: 97
Registriert: Sa 20. Jun 2009, 16:00
OS, Lazarus, FPC: Win10 20H2, Laz 2.0.8 auch Linux Mint Mate 20, Laz 2.0.6
CPU-Target: 64Bit

Re: Größe der exe-Datei dauerhaft reduzieren

Beitrag von lzuser »

knight hat geschrieben:In den Projekteinstellungen (welche mittlerweile auch die Compilereinstellungen beinhalten) gibt es jetzt eine Checkbox: Diese Einstellungen gelten als Vorgabe für neue Projekte.

knight

Bei mir sind Projekteinstellungen und Compilereinstellungen zwei verschiedene Menü-Punkte
und die genannte Checkbox habe ich leider nicht gefunden ???

Hitman
Beiträge: 512
Registriert: Mo 25. Aug 2008, 18:17
OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
CPU-Target: x86
Wohnort: Chemnitz

Re: Größe der exe-Datei dauerhaft reduzieren

Beitrag von Hitman »

lzuser hat geschrieben:Bei mir sind Projekteinstellungen und Compilereinstellungen zwei verschiedene Menü-Punkte
und die genannte Checkbox habe ich leider nicht gefunden ???

Zu alte Lazarus Version - da gibts das noch nicht.

Bora4d
Beiträge: 290
Registriert: Mo 24. Dez 2007, 13:14
OS, Lazarus, FPC: WinXP-Pro-Sp3, Xubuntu 12.04, (Laz 1.1-SVN Mai2012, FPC 2.6.1 / 2.6.0-Linux)
CPU-Target: AMD64X2

Re: Größe der exe-Datei dauerhaft reduzieren

Beitrag von Bora4d »

Es ist vielleicht nicht das was du suchst aber ich strippe :) immer. Ich habe im Werkzeugmenü ein Strip-Eintrag hinzugefügt. Wenn ich mit Kompilieren und Debuggen fertig bin klicke auf Strip dann verkleinert das auch die Größe.

So habe ich es hinzugefügt:
Werkzeuge > Externe Werkzeuge einrichten > +Hinzufügen:
Titel: Strip
Programmdateiname: D:\lazarus\fpc\2.4.1\bin\i386-win32\strip.exe
Parameter: $TargetFile()
Arbeitsverzeichnis: $ProjPath()
Einstellungen: [checked] Scannen der Ausgabe nach Freep.....

Hitman
Beiträge: 512
Registriert: Mo 25. Aug 2008, 18:17
OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
CPU-Target: x86
Wohnort: Chemnitz

Re: Größe der exe-Datei dauerhaft reduzieren

Beitrag von Hitman »

Naja eine Release Version sollte sich aber auch so deutlich von der Debug Version unterscheiden, nicht nur durch die Debug Symbole. Zum Beispiel wäre da die Optimierungsstufe zu nennen, die zum Debuggen tendenziell eher auf 0 stehen sollte, zum Release dann aber vlt. eher auf 3.

Lollo67
Beiträge: 69
Registriert: Mo 25. Jan 2010, 23:07

Re: Größe der exe-Datei dauerhaft reduzieren

Beitrag von Lollo67 »

Hi,

ich mache da nicht viel rum und benutze inzwischen upx, womit ich bislang keine Probleme hatte!
Mein Proggi schrumpft somit derzeit von 28MB auf 5,5 MB und startet auch nicht viel langsammer!
- Toller Nebeneffekt:
Programm-Inhalt (Telefon/ Adressen-Daten) ist mit Hex-Editor somit nicht mehr lesbar, als wäre der Inhalt verschlüsselt worden... :mrgreen: :wink:

slai
Beiträge: 211
Registriert: Fr 27. Apr 2007, 17:36
Wohnort: Zürich
Kontaktdaten:

Re: Größe der exe-Datei dauerhaft reduzieren

Beitrag von slai »

ich benutze strip und upx für meine Releases somit schrumpft mein exe von 80mb auf 2.5mb
habe ein batfile dafür geschrieben (Win).

Code: Alles auswählen

: aktuelles Laufwerk wechseln
@for %%I in (%1) do %%~dI
 
: aktuellen Pfad wechseln
@for %%I in (%1) do cd "%%~dpI"
 
:Aktuellen Pfad des bat speichern
set CURRENTDIR1=%CD%
 
:In das Binary verzeichnis wechseln
cd ..\..\lazbin
 
:Das Binary Verzeichnis speichern
set CURRENTDIR2=%CD%
 
:Wieder zurück in das bat verzeichnis wechseln
cd %CURRENTDIR1%
 
:Packfunktionen auf das exefile im Binaryverzeichnis anwenden
..\lazstrip\strip.exe --strip-all %CURRENTDIR2%\backoffice.exe
..\upx201w\upx.exe %CURRENTDIR2%\backoffice.exe
Windows 7, Lazarus 0.9.28.2 fpc 2.2.4, Firebird 2.1, Zeoslib 6.6.6-stable

marcov
Beiträge: 1100
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: Größe der exe-Datei dauerhaft reduzieren

Beitrag von marcov »

Ich nutze immer Binärdateien (.exe) mit alle Optionen eingeschaltet, aber setze für es nach dem Kunden geht Overflow/Stack usw Checks aus in Release builds.

Oft strip ich das nicht einmal. Hat noch nie einen Kunden sich verklagt über die Exe Große

Socke
Lazarusforum e. V.
Beiträge: 3158
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: Größe der exe-Datei dauerhaft reduzieren

Beitrag von Socke »

Mit dem Compilerschalter -Xg kann man die Debugger-Symbole in eine externe (.dbg) Datei speichern. Dann muss man nicht immer strip manuell aufrufen.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Antworten