gpt4 book ai didi

g++ - 在 make 上预先设置路径

转载 作者:行者123 更新时间:2023-12-04 11:13:42 25 4
gpt4 key购买 nike

在我的 makefile 中,我有一个对象变量。我需要为每个 .o 文件添加 obj/。我该怎么做?

CC=g++
CFLAGS=-C -Wall
LDFLAGS=-lsqlite3 -lpthread -ldl
SOURCES=main.cpp Database.cpp actionInit.cpp TileSet.cpp Player.cpp
OBJECTS=$(SOURCES:.cpp=.o)

EXECUTABLE=mahjong-counter

all: bin $(OBJECTS) $(EXECUTABLE)

bin:
mkdir -p bin

%.o: %.cpp
$(CC) $(LDFLAGS) $< -c -o $@

$(EXECUTABLE): $(OBJECTS)
$(CC) $(LDFLAGS) $(OBJECTS) -o $(EXECUTABLE)

clean:
rm $(OBJECTS)

最佳答案

你想要 CXX,而不是 CC。 CC 用于 C 编译器,而不是 C++ 编译器
无论如何,我认为以下内容应该有效:

CXX=g++
CXXFLAGS=-C -Wall
LDFLAGS=-lsqlite3 -lpthread -ldl

OBJ_DIR = obj
BIN_DIR = bin
EXECUTABLE=mahjong-counter

SOURCES= main.cpp Database.cpp actionInit.cpp TileSet.cpp Player.cpp
OBJECTS= $(SOURCES:%.cpp=$(OBJ_DIR)/%.o)

all: dirs $(OBJECTS) $(EXECUTABLE)

$(EXECUTABLE): $(OBJECTS)
$(CC) $(LDFLAGS) $(OBJECTS) -o $(EXECUTABLE)

$(OBJ_DIR)/%.o: %.cpp
$(CXX) $(CXXFLAGS) $< -o $@

dirs:
mkdir -p $(BIN_DIR)
mkdir -p $(OBJ_DIR)

.PHONY: dirs all

关于g++ - 在 make 上预先设置路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5173611/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com