【发布时间】:2021-10-24 13:23:34
【问题描述】:
我正在使用 Makefile 来编译我的源文件并将其与 sfml 库链接。 这完美地工作。唯一的问题:它在与源文件 (.cpp) 相同的目录中生成 .o 文件(和 .exe)。我希望我的 Makefile 将它们生成为不同的文件(例如 /obj)。我怎么能这样做?
这是 Makefile :
CXX = g++
INCL_DIR = src/include
LIB_DIR = src/lib
SRC = $(wildcard *.cpp)
OBJ = $(SRC:.cpp=.o)
all: compile link
compile:
$(CXX) -I $(INCL_DIR) -c $(SRC)
link:
$(CXX) $(OBJ) -o main -L$(LIB_DIR) -lsfml-graphics -lsfml-window -lsfml-system
【问题讨论】:
-
考虑使用github.com/cppfw/prorab 以简化您的
makefile并将对象放到单独的目录中。