ページ 11

Makefileでのエラー

Posted: 2022年6月27日(月) 17:26
by popopo516
以下のMakefileを実行したところ
make: *** 'AcceptTCPConnection.o' に必要なターゲット 'AcceptTCPConnection.c' を make するルールがありません. 中止.
というエラーが出ます。
何が問題なのか考えたのですがわからないので教えてほしいです。
必要なファイルやディレクトリはちゃんとあります。

コード:

 
INCLUDE = ../include

CFLAGS = -I$(INCLUDE)

BIN = TCPEchoServer-Thread \
      TCPEchoServer-ForkN

all: $(BIN)

clean:
        rm -f $(BIN) *.o *~

TCPEchoServer-Thread.o \
TCPEchoServer-ForkN.o:       $(INCLUDE)/TCPEchoServer.h

TCPEchoServer-Thread: AcceptTCPConnection.o \
                      CreateTCPServerSocket.o \
                      DieWithError.o \
                      HandleTCPClient.o \
                      TCPEchoServer-Thread.o
        gcc -o $@ $^ -pthread

TCPEchoServer-ForkN: AcceptTCPConnection.o \
                     CreateTCPServerSocket.o \
                     DieWithError.o \
                     HandleTCPClient.o \
                     TCPEchoServer-ForkN.o
        gcc -o $@ $^
        

Re: Makefileでのエラー

Posted: 2022年6月27日(月) 19:14
by みけCAT
popopo516 さんが書きました:
1年前
必要なファイルやディレクトリはちゃんとあります。
というのがもし本当だとすると、
・本当は AcceptTCPConnection.o は利用しないはずのに、誤って利用するように書いてしまっている
・AcceptTCPConnection.c または AcceptTCPConnection.o を生成するためのルールを書き忘れた、誤って消したなどで抜けている
などが考えられます。

ただ、これが本当でないと考えるほうが自然でしょう。
参照されているファイルが「正しいファイル名で」(typo注意)「正しいディレクトリに」あるかを確認してください。