https://gcc.gnu.org/onlinedocs/gcc/Precompiled-Headers.html
Szerk: gcc version 5.4.0 (GCC)
Talán az a bűnöm hergelte fel, hogy két source-file is volt a fordításban (és mindkettő használ header-fájlokat, még közös is van benne):
gcc -o exe source1.c source2.c
- NevemTeve blogja
- A hozzászóláshoz be kell jelentkezni
- 571 megtekintés
Hozzászólások
Nem a GCC csinálta, annak külön mondani kell:
gcc -c akarmi.h -o akarmi.h.gch
Valamit leforgathattál, aminek a Makefile
-ja/buildscriptje kiadott egy-két ilyen parancsot és most az include-jaid között van egy-két precompiled header, amit viszont már a GCC megtalál és azt használja. Le kell ezeket törölni:
find /usr/include -iname "*.h.gch"
find /usr/local/include -iname "*.h.gch"
Szükség esetén úgyis előállíthatóak.
- A hozzászóláshoz be kell jelentkezni
Oké, kezd úgy tűnni, hogy ismét én bénáztam: azt mondtam a `make`-nek, hogy
foo: foo.c foo.h
gcc -o $@ $^
Ebből az lett, hogy
gcc -o foo foo.c foo.h
- A hozzászóláshoz be kell jelentkezni
Az meg leforgatta a headereket. Jobbik eset, csak a saját headerjeid precompiled példányait kell törölni (rm *.h.gch
), nem kell a system-wide include-ban turkálni.
Sz*rk: Vagy nem leforgatta a headereket, hanem beforgatta a headereket a binárisba, mintha precompiled-ok lettek volna?
- A hozzászóláshoz be kell jelentkezni
A headerek jelenléte a command-line-ban provokálta azt a működést, ami a precompiled-header-eknél szokás, de ténylegesen nem keletkezett semmilyen *.gch fájl. A javítás ilyen lett:
foo: foo1.c foo2.c foo.h
gcc -o $@ $(filter %.c %.la,$^)
(a %.la (libtool archive) csak azért van, itt hogy emlékeztessen arra, hogy több maszkot is meg lehet adni)
- A hozzászóláshoz be kell jelentkezni
Tehát a B opció volt, hogy beleforgatta őket a binárisba, mintha precompiled-ok lettek volna. Még jobb eset, mert csak a Makefile
-t kellett megreszelni. :)
- A hozzászóláshoz be kell jelentkezni
July 27, 2023
The GCC developers are pleased to announce the release of GCC 13.2.
- A hozzászóláshoz be kell jelentkezni
Nagyon jó kis verzió az, de még Linuxon is órákig fordul, Aixon meg sem merem próbálni.
- A hozzászóláshoz be kell jelentkezni
-- amikor a topic nevéből tudom ki nyitotta
- A hozzászóláshoz be kell jelentkezni