我有一個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