プロジェクトのメイクファイルを作成しました。次のようになります。
CC = g++
LDFLAGS = -lpthread
CFLAGS = -Wall -pedantic -Wno-long-long -O0 -ggdb
SOURCES = main.o List.o ProcessCommands.o HandleTransfers.o
all: $(SOURCES)
%.o: %.cpp
$(CC) $< -o $@ -c $(CFLAGS) $(LDFLAGS)
compile:
$(CC) $(SOURCES) -o executable/ftp $(LDFLAGS)
run:
./executable/ftp
clean:
rm -rf *o ftp
doc:
doxygen ftpDocConf
主な問題は、ソース ファイルの 1 つに含まれているヘッダー ファイルを変更すると、"make all" コマンドが変更を認識せず、"make: Nothing to be done for `all'." を返すことです。私はインターネットを検索しましたが、まだ機能させることができませんでした。また、メイクファイルには別の「問題」があります。このmakefileが使用されるプロジェクトはftpサーバーであり、「make run」と入力して実行可能ファイルを実行すると、サーバーで何かを行い、プログラムを終了すると、makefileは「make:* [run] Interrupt」を返します。このメッセージが表示されないようにする方法はありますか? ctrl+c を使用してプログラムを終了したために表示されると思いますが、別の方法で「エラー」が発生しないようにする方法はありますか?
ご回答ありがとうございます。