C++ 如何使用代码块和gcc创建预编译头

C++ 如何使用代码块和gcc创建预编译头,c++,gcc,codeblocks,precompiled-headers,C++,Gcc,Codeblocks,Precompiled Headers,我有一个文件,该文件已经过测试并按预期工作: #ifndef PROMOTE_H_INCLUDED #define PROMOTE_H_INCLUDED #include <boost/mpl/vector.hpp> #include <boost/mpl/find.hpp> #include <boost/mpl/next.hpp> #include <boost/mpl/deref.hpp> template<class Integr

我有一个文件,该文件已经过测试并按预期工作:

#ifndef PROMOTE_H_INCLUDED
#define PROMOTE_H_INCLUDED
#include <boost/mpl/vector.hpp>
#include <boost/mpl/find.hpp>
#include <boost/mpl/next.hpp>
#include <boost/mpl/deref.hpp>


template<class Integral>
struct Promote
{
    typedef  boost::mpl::vector<char,short,int,long,long long> types;
    typedef typename boost::mpl::find<types,Integral>::type this_type;
    typedef typename boost:: mpl::next<this_type>::type next_type;
    typedef typename boost::mpl::deref<next_type>::type type;

};
#endif // PROMOTE_H_INCLUDED  
#如果包括促销
#定义包括的升级
#包括
#包括
#包括
#包括
模板
结构升级
{
typedef boost::mpl::向量类型;
typedef typename boost::mpl::find::type this_type;
typedef typename boost::mpl::next::type next\u type;
typedef typename boost::mpl::deref::type类型;
};
#endif//PROMOTE_H_包括在内
每次我在我的项目中更改某些内容时,这个文件都会被一次又一次地编译,这是非常困难的。我试图在网上搜索,结果发现:
但老实说,我只是没有看到任何关于如何创建预编译头的说明。所以,任何人都可以一步一步地告诉我如何使用code::blocks来实现它吗?

谢谢。

从您链接的文档:

< >创建一个预编译的头文件,只要需要,就可以用-x选项编译它,使驱动程序将其视为C或C++头文件。 因此:

< C++代码将创建预编译的头。


但它不会以您希望的方式加快构建过程。如果您更改了该标头,则还需要更新预编译标头及其所有依赖项。

-o不能与-c一起使用。这就是我从GCC得到的信息,当你做错了其他事情时
-o
肯定可以与
-c
一起使用。注意参数的顺序,像
-o-cfoobar
这样的东西是不起作用的。我遵循了您提供的链接,在我的新项目中,我只有一个.h文件。当我尝试编译它时,我得到了错误:Do:SoistGy1147,0BooSoG1L47,0Boo\\MPL\vector。HPP 5错误:ISO C90中不允许使用C++风格注释。我想把它解析成C文件,但是为什么?如果你有C++头,你需要用C++编译器编译它们。如果它们是C99,则需要告诉GCC关于它(<代码> -STD= C99 < /COD>)。嘿,Mat,我有C++编译器集是C编译器。我把它改成了g++所有的东西都在唱歌跳舞。谢谢你的帮助。
g++ -x c++ -o header.gch -c header.h