我有一个小的C ++项目,我正在尝试使用GnuWin32 Make实用程序来构build它。 这就是我的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
任何关于如何使这项工作的想法?
我找到了解决办法。 问题是我从一本教我C ++的书中复制了make文件,作者忘了提到“cl”是调用编译器的命令。 我实际上使用g ++,所以在用“g ++”替换“cl”后,错误消失了。