Anjuta IDE, Dateigröße.
-
Hallo,
ich habe ein kleines Projekt, bestehend aus rund 30 *.cpp Dateien.
Die mit Anjuta erstellte, ausführbare Datei hat eine Größe von ca. 573 kBytes.
Erstelle ich die ausführbare Datei allerdings mit dem Konsolenbefehl:
g++ file1.cpp file2.cpp ... last_file.cpp -o my_prog,
dann hat sie eine Größe von rund 90 kBytes.Ich dachte mir erst, das im ersten Fall Debbuginformationen enthalten sein könnten, aber ich finde in der Anjuta IDE keine Optionen diesbezüglich.
Was könnte(n) der Grund/Gründe für den Größenunterschied sein?Gruß,
c.
-
Hast Du denn bei Anjuta irgendwas gelinkt?
Kann ja sein das Du irgendwas angeklickt hast, was am Ende doch nicht benoetigt wird.
-
Das kann sein, aber ich wüßte nicht was. Ich habe das Projekt noch einmal von vorn aufgebaut, mit dem selben Ergebnis.
Bei der Erstellung habe ich drei Optionen gefunden, bei denen ich mir nicht einmal sicher bin, ob etwas zusätzlich dazugelinkt wird:
1 Unterstützung für gemeinsam verwendete Bibliotheken verwenden.
2 Internationalisierung hinzufügen.
3 Externe Pakete konfigurieren.Nur die erste Option habe ich auf "ja" gesetzt, die übrigen auf "nein".
-
Kopier mal den GCC Aufruf von Anjuta hier rein.
Außerdem spielt die Größe keine Rolle so lange du das Binary nicht "stripped" hast.
-
Ich bin mir nicht sicher, wo ich den gcc Aufruf finde. Es scheint mir so, das er irgendwie im Makefile, in irgendwelchen Scriptparametern aufgebröselt steckt?
Könnten das die betreffenden Parameter sein?
AWK = mawk
CC = gcc
CCDEPMODE = depmode=gcc3
CFLAGS = -g -O2
CPP = gcc -E
CPPFLAGS =
CXX = g++
CXXCPP = g++ -E
CXXDEPMODE = depmode=gcc3
CXXFLAGS = -g -O2
CYGPATH_W = echo
-
Könnten das die betreffenden Parameter sein?
O ja!
Nur du Scherzkeks hast uns die Stelle vorenthalten, wo sie zusammengesetzt werden...So muß ich raten: die IDE nimmt in beiden Fällen
-g -O2
mit, daß das einen Sprung von 90 auf 570k herbeiführt glaube ich aber nicht. Dann nochdepmode=gcc3
, keine Ahnung was das ist.Für genaueres musst du auf die Gurus warten oder einen repräsentativen Teil des Makefiles posten.
-
µngbd schrieb:
Könnten das die betreffenden Parameter sein?
O ja!
Nur du Scherzkeks hast uns die Stelle vorenthalten, wo sie zusammengesetzt werden...Ja, hab ich selber nicht gefunden, ich versuchs nochmal ...
-
µngbd schrieb:
... oder einen repräsentativen Teil des Makefiles posten.
ich kanns nicht findeeeeeen!
-
könnte das seiN:
LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) (AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-
oder das:
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) (AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
schei... makefilegülle