2 つのクラス (およびメイン) のオブジェクト ファイルを作成するメイクファイルがあり、それらのクラスの 1 つが .h ファイルで定義されています。私のmakefileには、次の行があります
FileName.o: FileName.h
g++ -c FileName.h
しかし、コンパイルしようとすると、FileName.oが見つからないと言われます
これをコンパイルするには、FileName.cpp を作成する必要がありますか?
どこかでFileName.hのクラスを使用していますね。したがって、.cppファイルの少なくとも1つに.cppが含まれている必要が#include "FileName.h"
あり、.hのコードはこの.cppでコンパイルされるため、.hのコードを個別にコンパイルする必要はありません。
通常、ヘッダー (.h) ファイルを単独でコンパイルしようとはしません。それ以外の場合は空の .cpp ファイルに含めると、それをコンパイルして .o ファイルを生成できますが、実際には属していないものをヘッダーに入れていない限り、(もしあれば) あまり役に立たないでしょう。ヘッダーで。