2011-02-02 15 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 ++を使っているので、 "cl"を "g ++"に置き換えた後、エラーはなくなりました。 – elbear

+1

LucianU:あなたの質問に対する本当の答えとしてそれを追加し、それを受け入れてください:それは答えられないように表示されません。 –

答えて

0

解決策が見つかりました。問題は、私にC++を教える本のmakeファイルをコピーしたことです。著者は、 "cl"がコンパイラを呼び出すコマンドであることを忘れていました。私は実際にg ++を使っているので、 "cl"を "g ++"に置き換えた後、エラーはなくなりました。

関連する問題