Makefile警告:链接器输入文件未使用,因为链接未完成

时间:2017-05-02 17:29:02

标签: c++ c++11 makefile linker

我正在尝试为C ++程序编写自己的makefile。 我正在为一个C程序编辑一个旧的makefile,我的老师给了我一个,但我真的不明白为什么它一直告诉我$a

我有4个类及其相应的标题加上linking is not done文件。

这是我的makefile:

main

这些是我尝试编译时收到的错误消息:

OBJS = main.o Class1.o Class2.o Class3.o Class4.o
HEADERS = Class1.hpp Class2.hpp Class3.hpp Class4.hpp
EXE = main
all: $(EXE)

CXX = g++
CXXFLAGS = -std=c++11 -g -c -Wall
LFLAGS = -Wall -std=c++11 -g

# ---------------------------------------------------------------------
# Rules
# ---------------------------------------------------------------------

RM = rm -rf

.SUFFIXES:
.SUFFIXES: .o .cpp
.cpp.o :
    $(CXX) $(CXXFLAGS) -c -o $@ $<

$(EXE): $(OBJS)
    $(CXX) $(CXXFLAGS) -o $(EXE) $(OBJS)

$(OBJS) : $(HEADERS)

clean:
    $(RM) $(OBJS)
    $(RM) $(EXE)

again:                                                               
    make clean
    make

我理解这可能是因为我最后没有将所有g++ -std=c++11 -g -c -Wall -o main main.o Class1.o Class2.o Class3.o Class4.o g++: warning: main.o: linker input file unused because linking not done g++: warning: Class1.o: linker input file unused because linking not done g++: warning: Class2.o: linker input file unused because linking not done g++: warning: Class3.o: linker input file unused because linking not done g++: warning: Class4.o: linker input file unused because linking not done 个文件链接在一起,但这不是这行

.o

该怎么办?由于$(EXE): $(OBJS) $(CXX) $(CXXFLAGS) -o $(EXE) $(OBJS) 选项不存在。

我错过了什么?

谢谢大家的帮助。

0 个答案:

没有答案