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

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

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

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

最佳答案

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

07-27 19:24