gcc 3.3.3支持预编译头文件?

时间:2009-05-15 02:06:08

标签: c++ linux gcc

gcc 3.3.3是否支持预编译头文件?

如果是,使用gcc 3.3.3在Linux上生成和使用预编译头文件的语法是什么。 我们在Windows和Linux上交叉编译我们的项目,在Windows上我们预编译stdafx.h并且我正在调查如何设置它以便它也在Linux上预编译。

我知道the gcc doc,我正在寻找实际的解决方案。

在gcc 3.3.3上我得到了这个:

> gcc stdafx.h
gcc: compilation of header file requested

最后,如果它起作用的是生成文件的名称?

编辑:gcc 3.3.3似乎不支持预编译的标头,而在较新的gcc上,生成的文件以.gch扩展名命名。

3 个答案:

答案 0 :(得分:1)

我不知道gcc支持哪个版本,但是如何使用它们只需阅读gcc documentation

无论如何,gcc 3.3.3也很老了。也许你有可能升级到更新的4.X版本?这应该支持重新编译的标题。

也许你可以尝试最新的3.X GCC(GCC 3.4.6)。我假设ABI中断是从3.X到4.X,所以3.4可能是兼容的。我认为这可能值得一试。

来自http://gcc.gnu.org/gcc-3.4/changes.html

  

C /目标C / C ++
  现在支持预编译头文件。

答案 1 :(得分:0)

我不完全确定GCC 3.3是否支持它,但预编译头实际上与生成对象没有区别,至少对于GCC 4.x:

gcc $CFLAGS header.h

它会在.h文件旁边生成一个新的预编译头文件,并在#include d时自动使用它。

答案 2 :(得分:0)

我不记得gcc 3.3.3是否支持它。 输出文件为{filename.ext} .gch