我有一个makefile为两个类(和主)创建目标文件,其中一个类只是在.h文件中定义的。在我的makefile我有这样一行如何在makefile中编译.h文件?
FileName.o: FileName.h
g++ -c FileName.h
但是当我尝试编译它说,它无法找到FileName.o
我必须为了得到这个创建FileName.cpp编译?
我有一个makefile为两个类(和主)创建目标文件,其中一个类只是在.h文件中定义的。在我的makefile我有这样一行如何在makefile中编译.h文件?
FileName.o: FileName.h
g++ -c FileName.h
但是当我尝试编译它说,它无法找到FileName.o
我必须为了得到这个创建FileName.cpp编译?
你在FileName.h某处使用你的类,不是吗?因此,至少有一个.cpp文件应该包含#include "FileName.h"
,而.h的代码将使用该.cpp编译,而不需要单独编译.h的代码。
谢谢!这工作 – JDN 2012-04-11 20:10:54
一般来说,想要只编译一个头文件而不是'#include'将其包含到某个实际的源文件中意味着您需要重构您的代码。或者可能完全重新思考。 – geekosaur 2012-04-11 19:48:25
编译是什么生成的目标文件...你是否意味着当你尝试链接? – AJG85 2012-04-11 19:48:49