This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Disabling pch checking?
- From: Benjamin Kosnik <bkoz at redhat dot com>
- To: dank at kegel dot com
- Cc: gcc at gcc dot gnu dot org
- Date: Fri, 24 Feb 2006 16:18:45 -0600
- Subject: Re: Disabling pch checking?
> After reading
> http://gcc.gnu.org/onlinedocs/gcc-4.0.2/gcc/Precompiled-Headers.html
> I get the impression that, to start using precompiled headers, the procedure is:
>1) create a single all.h that includes all the needed .h's
>2) precompile all.h
Correct.
> 3) edit all your app's sources to include all instead of the individual .h's
No.
Use "-include all.h" on the compile line.
>That sounds like a source change to me. Or am I misunderstanding
>how precompiled headers are usually used?
Using PCH is not as difficult as you are making it out to be. See the
libstdc++ build process, and the way --cxxpchflags are used in the
libstdc++ testsuite (from scripts/testsuite_flags).
>From that:
/mnt/hd/bld/gcc/./gcc/g++ -shared-libgcc -B/mnt/hd/bld/gcc/./gcc -nostdinc++ -L/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/src -L/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/src/.libs -B/mnt/hd/bld/H-x86-gcc/i686-pc-linux-gnu/bin/ -B/mnt/hd/bld/H-x86-gcc/i686-pc-linux-gnu/lib/ -isystem /mnt/hd/bld/H-x86-gcc/i686-pc-linux-gnu/include -isystem /mnt/hd/bld/H-x86-gcc/i686-pc-linux-gnu/sys-include -g -O2 -D_GLIBCXX_ASSERT -ffunction-sections -fdata-sections -fmessage-length=0 -DLOCALEDIR="/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/po/share/locale" -nostdinc++ -I/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/include/i686-pc-linux-gnu -I/mnt/hd/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/include -I/mnt/hd/src/gcc/libstdc++-v3/libsupc++ -I/mnt/hd/src/gcc/libstdc++-v3/include/backward -I/mnt/hd/src/gcc/libstdc++-v3/testsuite testsuite_abi.o testsuite_allocator.o testsuite_character.o testsuite_hooks.o /mnt/hd/src/gcc/libstdc++-v3/testsuite/18_support/numeric_limits/epsilon.cc !
-include bits/stdc++.h -lm -o ./epsilon.exe
-benjamin