如何使用make链接.hpp文件

问题描述 投票:0回答:1

这是我的makefile:

all: prog

output: run.o ruin.o interm.o
    g++ run.o ruin.o interm.o -o output

run.o: run.cpp
    g++ -c run.cpp
ruin.o: ruin.hpp
    g++ -c ruin.hpp
interm.o: interm.cpp
    g++ -c interm.cpp

OBJECTS = run.o ruin.o interm.o
INC = -I include
LIBS = -L lib -lsfml-system -lsfml-window -lsfml-graphics -lsfml-audio
CC = g++ 

prog:   $(OBJECTS)
        $(CC) $(OBJECTS) $(INC) $(LIBS) -o prog


clean:
    rm *.o

这是我编译时遇到的错误:

make: *** No rule to make target `ruin.o', needed by `prog'.  Stop.

插入文本,因为“帖子主要是代码 插入文本,因为“帖子主要是代码 插入文本,因为“帖子主要是代码 插入文本,因为“帖子主要是代码 插入文本,因为“帖子主要是代码

c++ makefile linker linker-errors
1个回答
0
投票

正如 @Retired Ninja 在评论中提到的,您需要将该文件包含在一个或多个 cpp 文件中,例如

Makefile
可以这样更新

CC = g++
CFLAGS = -I include
LIBS = -L lib -lsfml-system -lsfml-window -lsfml-graphics -lsfml-audio
OBJECTS = run.o ruin.o interm.o

all: prog

run.o: run.cpp
    $(CC) $(CFLAGS) -c run.cpp
ruin.o: ruin.cpp
    $(CC) $(CFLAGS) -c ruin.cpp
interm.o: interm.cpp
    $(CC) $(CFLAGS) -c interm.cpp

prog: $(OBJECTS)
    $(CC) $(OBJECTS) $(LIBS) -o prog

clean:
    rm -f *.o prog
© www.soinside.com 2019 - 2024. All rights reserved.