用Makefile编译后如何运行编程
How to run program after compiling with Makefile
我有一个 assign4a.cpp
、list.h
和 list.cpp
文件。我用我的 make 文件编译了它们,但不知道我将使用什么命令 运行 程序。
我试过的运行都试过了
a.out
和 ./a.out
他们都给我"Command not found"
生成文件
CFLAGS = -c -Wall -g
LFLAGS = -g -o assign4a
assign4a: assign4a.o list.o
g++ assign4a.o list.o $(LFLAGS)
assign4a.o: assign4a.cpp list.h
g++ $(CFLAGS) assign4a.cpp
list.o: list.cpp list.h
g++ $(CFLAGS) list.cpp
clean:
rm -f assign4a *.o *~ *#
./assign4a
.
您的 makefile 将构建程序并将可执行文件 assign4a
放入工作文件夹。
而且,你的 makefile 是错误的。
应该是g++ $(CFLAGS) assign4a.cpp -o assign4a.o
和g++ $(CFLAGS) list.cpp -o list.o
.
你需要打电话给
./assign4a
Makefile 定义目标和它们之间的依赖关系。这里:
assign4a: assign4a.o list.o
g++ assign4a.o list.o $(LFLAGS)
assign4a
是一个目标,它依赖于文件 assign4a.o
、list.o
,构建目标需要 运行 g++ assign4a.o list.o $(LFLAGS)
.
我有一个 assign4a.cpp
、list.h
和 list.cpp
文件。我用我的 make 文件编译了它们,但不知道我将使用什么命令 运行 程序。
我试过的运行都试过了
a.out
和 ./a.out
他们都给我"Command not found"
生成文件
CFLAGS = -c -Wall -g
LFLAGS = -g -o assign4a
assign4a: assign4a.o list.o
g++ assign4a.o list.o $(LFLAGS)
assign4a.o: assign4a.cpp list.h
g++ $(CFLAGS) assign4a.cpp
list.o: list.cpp list.h
g++ $(CFLAGS) list.cpp
clean:
rm -f assign4a *.o *~ *#
./assign4a
.
您的 makefile 将构建程序并将可执行文件 assign4a
放入工作文件夹。
而且,你的 makefile 是错误的。
应该是g++ $(CFLAGS) assign4a.cpp -o assign4a.o
和g++ $(CFLAGS) list.cpp -o list.o
.
你需要打电话给
./assign4a
Makefile 定义目标和它们之间的依赖关系。这里:
assign4a: assign4a.o list.o
g++ assign4a.o list.o $(LFLAGS)
assign4a
是一个目标,它依赖于文件 assign4a.o
、list.o
,构建目标需要 运行 g++ assign4a.o list.o $(LFLAGS)
.