2012-03-09 10 views
0

私は、単純なファイルがあります hello.hを、HELLO.CPPLinuxのグラムを使用して、メイクファイルで静的ライブラリを作成する++コンパイラ

が、私は静的ライブラリ(libhello.a)を生成するために、メイクファイルを作成している が、エラーメッセージが表示されますが、何が間違っていますか?

私のコードは次のとおりです。

CC = g++ 
CFLAGS = -Wall -g 
utilObjs = hello.o 

libhello.a: $(utilObjs) 
    ar rc [email protected] $(utilObjs) 
    ranlib [email protected] 

hello: hello.o libhello.a 
    $(CC) $(CFLAGS) hello.o -L ./ -lutil -o [email protected] 

hello.o: hello.cpp hello.h 
    $(CC) $(CFLAGS) -c $> 

clean: 
    rm -rf *.o libhello.a hello 

all: hello 
.PHONY: all clean 

エラーメッセージ: G ++:致命的なエラー:なし入力ファイル コンパイルが

+0

デフォルトのGNU * make *ルール( 'make -p'でそれらを得ることができます)には、' CX'ではなく 'CXX'を使ってC++をコンパイルするルールが既にあります。あなたの 'Makefile'をデバッグするために' remake'を使用してください –

答えて

3

を終了し、私は、$<に変更し、$>は、何か特別なことを意味しないと思いますルールの最初の前提条件に展開されます。 (この場合はhello.cpp)

関連する問題