2014-09-29 64 views
0

我正在尝试生成一个具有2个可执行文件的生成文件。首先我需要命名为“recurse”,它只需要main.cpp。另一个需要命名为usestack,它需要usestack.cpp,Vector.h,stack.h和queue.h。当我在unix中启动makefile时,我得到的命令在第2,4,7行找不到,但它仍然有效。任何人都知道什么是错的?这是我的生成文件:尝试使用2个可执行文件生成一个makefile文件

all: recurse Stack 

recurse: 
    g++ -o recurse main.cpp 

Stack: 
    g++ -o Stack usestack.cpp Vector.h queue.h stack.h 

感谢您的帮助。

+1

你如何调用Make?你使用什么版本的Make('make -v')? – Beta 2014-09-30 01:33:00

回答

0

我想你大概意思是这样的:

冒号( :),你把它,如果改变,导致可执行文件(以下行)的文件的名称必须重建
all: recurse Stack 

recurse: main.cpp 
<TAB>g++ -o recurse main.cpp 

Stack: usestack.cpp Vector.h queue.h stack.h 
<TAB>g++ -o Stack -I. usestack.cpp 

之后 - 即依赖关系。

一旦你创建你的Makefile,与调用它:

make 

顺便说一句,你可以检查您的make安装键入:

which make 
/usr/local/bin/make 

如果偶然,你在Mac上,您需要安装可从AppStore免费获得的Xcode CLI Tools

+0

用你的上面的代码创建了一个新的makefile,但是当我在命令提示符下输入makefile时仍然得到这个。 makefile:第1行:all ::命令未找到 makefile:第3行:recurse ::命令未找到 makefile:第6行:Stack :: command not found – CoderRightInTheProgram 2014-09-29 23:11:01

+0

我实际上已经擦除了您的“”并使用一个选项卡,只是让你知道 – CoderRightInTheProgram 2014-09-29 23:13:51

相关问题