5

2 つのクラス (およびメイン) のオブジェクト ファイルを作成するメイクファイルがあり、それらのクラスの 1 つが .h ファイルで定義されています。私のmakefileには、次の行があります

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

しかし、コンパイルしようとすると、FileName.oが見つからないと言われます

これをコンパイルするには、FileName.cpp を作成する必要がありますか?

4

2 に答える 2

7

どこかでFileName.hのクラスを使用していますね。したがって、.cppファイルの少なくとも1つに.cppが含まれている必要が#include "FileName.h"あり、.hのコードはこの.cppでコンパイルされるため、.hのコードを個別にコンパイルする必要はありません。

于 2012-04-11T19:58:34.227 に答える
6

通常、ヘッダー (.h) ファイルを単独でコンパイルしようとはしません。それ以外の場合は空の .cpp ファイルに含めると、それをコンパイルして .o ファイルを生成できますが、実際には属していないものをヘッダーに入れていない限り、(もしあれば) あまり役に立たないでしょう。ヘッダーで。

于 2012-04-11T19:48:15.520 に答える