如何在使用Makefile编译后运行程序

时间:2015-03-08 02:53:06

标签: c++ gcc makefile

我有一个assign4a.cpplist.hlist.cpp文件。我用我的make文件编译它们但不知道我将使用什么命令来运行程序。

我试图运行的内容已尝试

a.out./a.out

他们两个都给我“命令未找到”

生成文件

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 *~ *#

2 个答案:

答案 0 :(得分:4)

./assign4a

您的makefile将构建程序并将可执行文件assign4a放入工作文件夹。

而且,你的makefile错了。

应该是g++ $(CFLAGS) assign4a.cpp -o assign4a.og++ $(CFLAGS) list.cpp -o list.o

答案 1 :(得分:1)

您需要致电

./assign4a

Makefile定义它们之间的目标和依赖关系。这里:

assign4a: assign4a.o list.o
    g++ assign4a.o list.o $(LFLAGS)

assign4a是一个目标,取决于文件assign4a.olist.o,并且需要构建目标才能运行g++ assign4a.o list.o $(LFLAGS)