GnuWin32 Make无法运行生成文件

问题描述:

我有一个小型的C++项目,我试图使用GnuWin32 Make实用程序来构建它。 这是我calc.mak文件看起来是这样的:GnuWin32 Make无法运行生成文件

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

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

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