Unixメイクファイルエラー - ターゲットビルドルールがありません。

Unixメイクファイルエラー - ターゲットビルドルールがありません。

私は、main.cppとgame.adtという2つのファイルが関連付けられた単純なプログラム用のメイクファイルを作成しています。 csplitを使用して、game.adtをヘッダーとソースコード(guess.hと推測.cpp)の2つの部分に分割する必要があります。私は次のようにmakefileをコンパイルしようとしています。

HEADERS=guess.h

#Targets:

default: guessGame

guessGame: guess.o main.o

                g++ guess.o main.o -o guessGame

guess.o: guess.cpp $(HEADERS) 

                g++ -c guess.cpp -o guess.o

main.o: main.cpp $(HEADERS)

         g++ -c main.cpp -o main.o

clean:

       -rm -f guessGame *.o

しかし、「guess.oにはターゲット推測のルールは必要ありません」と述べています。ヘッダファイルも同様です。これは、「guess.cpp」ファイルと「guess.h」ファイルが存在しないためです。推測.cppと推測.hターゲットのadtファイルを使用してルールを作成する方法は?

ベストアンサー1

これは改善することができます。しかし、始めるには、次の手順に従ってください。

guess.cpp guess.h : game.adt
        csplit -sz $< '/Split Here/'
        mv xx00 guess.h
        mv xx01 guess.cpp

ルールのインデントが空白ではなくタブであることを確認してください。

おすすめ記事