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扩展名命名。
答案 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