Windows 8 で GNU make を使用して makefile について学習しています。私が参照しているチュートリアルは Linux 用に書かれているので、'/' を '\' に置き換えるなど、私が知る限り、指定された makefile を修正しています。
私のメイクファイルの内容は次のとおりです。
CC=g++
INCLIST=functions.h
INCDIR=..\include
OBJDIR=.\obj
BINDIR=..\bin
_OBJLIST = main.o
OBJ=$(patsubst %,$(OBJDIR)\%,$(_OBJLIST))
all: main.o
main.o: main.cpp
$(CC) -c -I $(INCDIR) main.cpp -o $(OBJ)
main.cpp を手動でコンパイルできます
g++ -c -I ..\include main.cpp -o .\obj\main.o
ただし、実行するmake
と、出力は次のようになります。
g++ -c -I ..\include main.cpp -o .\obj%
オブジェクト ファイルは、ディレクトリではなく現在のディレクトリに作成され、required の代わりに.\obj
名前が付けられます。Ubuntuで同じセットアップを実行しましたが、完全に機能しました。理由を教えてください。./obj%
main.o
ありがとう.. :)