我有一个小型的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
关于如何使这项工作的任何想法?
答案 0 :(得分:0)
我找到了解决方案。问题是我从一本教我C ++的书中复制了make文件,而且作者忘了提到“cl”是调用编译器的命令。我实际上正在使用g ++,所以在用“g ++”替换“cl”后,错误消失了。