我正在尝试构建一个c ++ Wt程序。但是,我的makefile不起作用。
我有以下内容:
CXX=g++
LDFLAGS=-lwt -lwthttp
CXXFLAGS=-Wall
SOURCES=main.cpp test.cpp
OBJ=$(SOURCES:.cpp=.o)
EXE=test
all: $(SOURCES) $(EXE)
$(EXE): $(OBJ)
$(CXX) $(LDFLAGS) $(OBJ) -o $@
.cpp.o:
$(CXX) $(CXXFLAGS) $< -o $@
但是这给了我错误,它在编译时缺少对Wt类的引用。
答案 0 :(得分:2)
GNU链接器以特定顺序解析依赖关系,这意味着您必须在链接时将库放在最后,因此更改
$(CXX)$(LDFLAGS)$(OBJ)-o $ @
到
$(CXX)$(OBJ)$(LDFLAGS)-o $ @