你如何在makefile中编译一个.h文件?

时间:2012-04-11 19:45:15

标签: c++ makefile g++

我有一个makefile,它为两个类(和main)创建目标文件,其中一个类只是在.h文件中定义。在我的makefile中,我有一行说

FileName.o: FileName.h
  g++ -c FileName.h

但是当我尝试编译它时说它找不到FileName.o

我是否必须创建FileName.cpp才能进行编译?

2 个答案:

答案 0 :(得分:6)

您通常不会尝试自行编译标头(.h)文件。将它包含在一个空的.cpp文件中会让你编译它并产生一个.o文件,但它可能不会做太多(如果有的话)真正的好,除非你把东西放在不真正属于的标题中在标题中。

答案 1 :(得分:6)

你正在某处使用FileName.h中的类,不是吗?因此,至少有一个.cpp文件应包含#include "FileName.h",而.h的代码将使用此.cpp编译,您无需单独编译.h的代码。