Answers:
如果您想了解文件,只需在终端上输入
file filename
file a.h.gch
给出:
GCC precompiled header (version 013) for C
.h.gch
文件说“数据” 。我怀疑您为此需要适当的数据库文件。
它是一个GCC预编译头文件。
维基百科有一个不错的解释,http://en.wikipedia.org/wiki/Precompiled_header
a)它们是预编译的标头:http : //gcc.gnu.org/onlinedocs/gcc/Precompiled-Headers.html
b)它们包含来自.h文件的“缓存”信息,并且每次您更改各自的.h文件时都应进行更新。如果没有发生-您在项目中设置了错误的依赖项
关于什么是gch文件,其他答案是完全准确的。但是,上下文(在这种情况下,是使用g ++的初学者)就是一切。在这种情况下,有两个规则:
永远不要将.h文件放在g ++编译行上。仅.cpp文件。如果.h文件曾经被意外编译,请删除所有* .gch文件
永远不要将.cpp文件放在#include语句中。
如果违反了规则一,则有时会出现问题中所述的问题。如果第二条规则被打破,则链接器有时会抱怨多重定义的符号。