2011-02-02 128 views
2

我有一個小型的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

回答

0

我找到了解決方案。問題是我從一本教我C++的書中複製了make文件,作者忘記提到「cl」是調用編譯器的命令。我實際上使用g ++,所以在我用「g ++」替換「cl」後,錯誤消失了。