Köszönöm a gcc hozzám való jószándékát

cc1: error: the "xcoff" debug format cannot be used with pre-compiled headers [-Werror=deprecated]

Ha lenne mikrofon a gépen, most belemondanám, hogy "kedves gcc, nem kértem precompiled headert, de ha már önkéntes jóságból csinálsz ilyet, legalább azt gyónd meg, hogy hogyan lehet letiltani!"

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

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.
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 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)

July 27, 2023

The GCC developers are pleased to announce the release of GCC 13.2.