GnuWin32 Make无法运行makefile

时间:2011-02-02 16:47:09

标签: c++ windows makefile

我有一个小型的C ++项目,我正在尝试使用GnuWin32 Make实用程序来构建它。 这就是我的calc.mak文件:

calc.exe : calc.obj stack_c.obj input_c.obj
    cl calc.obj stack_c.obj input_c.obj

calc.obj : calc.cpp calc.h input.h stackseq.h
    cl -c calc.cpp

stack_c.obj : stack_c.cpp stackseq.h
    cl -c stack_c.cpp

input_c.obj : input_c.cpp input.h
    cl -c input_c.cpp

这些是包含文件的目录的内容:

 Directory of G:\dev\c++\cpp_in_action\calc

02/02/2011  04:37 PM    <DIR>          .
02/02/2011  04:37 PM    <DIR>          ..
02/02/2011  04:13 PM             2,288 calc.cpp
02/02/2011  04:19 PM               294 calc.h
02/02/2011  03:16 PM               266 calc.mak
02/02/2011  01:24 PM               455 input.h
02/02/2011  01:33 PM               551 input_c.cpp
02/02/2011  12:03 PM               641 stackseq.h
02/02/2011  03:02 PM               568 stack_c.cpp
               7 File(s)          5,063 bytes
               2 Dir(s)     805,187,584 bytes free

这是我得到的错误:

G:\dev\c++\cpp_in_action\calc>make -f calc.mak
cl -c calc.cpp
process_begin: CreateProcess(NULL, cl -c calc.cpp, ...) failed.
make (e=2): The system cannot find the file specified.
make: *** [calc.obj] Error 2

关于如何使这项工作的任何想法?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。问题是我从一本教我C ++的书中复制了make文件,而且作者忘了提到“cl”是调用编译器的命令。我实际上正在使用g ++,所以在用“g ++”替换“cl”后,错误消失了。