help-gplusplus
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: precompiled headers and -g


From: Bernd Strieder
Subject: Re: precompiled headers and -g
Date: Thu, 13 Oct 2005 15:20:44 +0200
User-agent: KNode/0.9.2

Hello,

Greg wrote:

> It appears that in order for a precompiled header (.h.gch) to be used,
> it has to reside in the same directory as the source header (.h) that
> it was created from.  This is somewhat cumbersome for builds that have
> object files placed in a separate directory tree (as is the case with
> autoconf, etc).

This is a little nasty problem I had earlier, a cross interaction with
the confusion about include "..." and include <...>. If you write in
myfile.cc

#include "myfile.h"

when compiling, the directory of myfile.cc, will be searched first. If
the precompiled header is missing there, search will end there and
the .h will be used.

With

#include <myfile.h>

the source directory won't be searched first, and the precompiled header
will be found, if -I . comes before -I sourcedir.

Alternatively, with an option -include myfile.h before all -I options
the precompiled header myfile.h.gch in the build dir will be found as
well.


> Given, however, that this is the behavior, here is my problem.  I
> would
> like to compile my libraries twice, once with -g and once without. 
> The object files from each build would be placed in a separate build
> directories.  But what happens to precompiled headers, which would
> reside in the source tree, next to their .h file?  Does a .h.gch file
> need to be recompiled dependending on whether -g/-O are used?

See the info pages, it's too much to write it down here, see e.g.:

http://gcc.gnu.org/onlinedocs/gcc/Precompiled-Headers.html

Bernd Strieder



reply via email to

[Prev in Thread] Current Thread [Next in Thread]