[cfe-dev] Precompiled header without prefix header ?
Sebastian Redl
sebastian.redl at getdesigned.at
Tue Mar 19 01:44:38 PDT 2013
On 18.03.2013, at 20:44, fab wrote:
> I am working on a cross-platform codebase on Clang/MacOS X that is also
> compiled with Visual Studio on Windows and GCC on Linux.
>
> The source code headers always include "precomp_common.h" at the top of each
> header files. But according to the Clang documentation
> (http://clang.llvm.org/docs/UsersManual.html#usersmanual-precompiled-headers)
> Clang will NOT use the PCH in this case and no speed up will be performed
> since it was not include via "- include".
>
> Using Clang it seems the only way is to perform a conditional include:
>
> 1.
> #ifndef __clang__
> #include "precomp_common.h"
> #endif
>
> 2. Add "precomp_common.h" to the prefix header via -include option.
>
> I wonder if there is a "cleaner" way to do it.
I generally find the VS model to be the unclean one. Remove the include directive from all files, and in your project options, under C/C++ -> Advanced, add it to Forced Includes. This makes it pass the file to the compiler via the equivalent of the -include directive. (You still need to have it specified as the precompiled header.)
Sebastian
More information about the cfe-dev
mailing list