0

メイクファイルに問題があります。.o最初のファイルを作成した後、読み取りを続行しません。これが私のメイクファイルです:

CC = g++
CFLAGS = -g
LDFLAGS = -lm

PokerEval.o: PokerEval.cpp
    ${CC} ${CFLAGS} -c PokerEval.cpp

random.o: random.cpp random.h
    ${CC} ${CFLAGS} -c random.cpp

myprogram: random.o PokerEval.o
    ${CC} ${CFLAGS} PokerEval.o random.o ${LDFLAGS} -o myprogram

clean:
    rm -f myprogram *.o
.PHONY: all clean

したがって、実行すると、次のようになります。

$ make
g++ -g -c PokerEval.cpp
4

1 に答える 1

2

コマンド ラインでターゲットを指定しない限り、通常は1を指定すると、メイクファイルの最初のターゲットがビルドされます。

したがって、通常はメイン ターゲット (実行可能ファイルなど) を最初に指定し、次に依存するものを指定します。

最初のターゲットの前にマクロを定義できる (頻繁に定義する) ことに注意してください。マクロはターゲットとしてカウントされません。


  1. この場合の「通常」とは、「常に、適切に設計された make ユーティリティを使用して」という意味です。例外は、彼らが make と呼んだ古代の Microsoft ツールですが、それは関係なく、すべてを構築しました。nmakeただし、(少なくとも半)正しく機能する現在の(「新しいメーカー」)は、何十年も前から存在しています。
于 2013-04-21T23:59:18.633 に答える