所以我用 C++ 编程已经快两年了,一直以来我很高兴使用具有可爱的项目设置和自动链接等功能的 IDE (VS)。我总是远离任何需要我通过 makefile 进行编译的外部库,或者至少是那些适用于 Linux 环境/其他编译器的库。
无论如何,我现在想使用一个超级方便的实用程序(鲍勃·詹金斯完美最小哈希) http://burtleburtle.net/bob/hash/perfect.html#pearson但它要求我通过 makefile 进行编译,不仅如此,还需要使用 g++ 编译器。
我继续获取 mingW32-make 实用程序,现在正在尝试让它工作。我现在在哪里:
- 成功安装minGW
- 成功调用 make 实用程序
- 未能成功制作项目。
我得到的错误是:
C:\gen_progs\ph>mingw32-make
mingw32-make: *** 没有规则可制定
目标lookupa.c', needed by
查找帕.o'。停止。
以及 makefile 本身:
CFLAGS = -O
.cc.o:
gcc $(CFLAGS) -c $<
O = lookupa.o recycle.o perfhex.o perfect.o
const64 : $(O)
gcc -o perfect $(O) -lm
# DEPENDENCIES
lookupa.o : lookupa.c standard.h lookupa.h
recycle.o : recycle.c standard.h recycle.h
perfhex.o : perfhex.c standard.h lookupa.h recycle.h perfect.h
perfect.o : perfect.c standard.h lookupa.h recycle.h perfect.h
现在这个错误似乎是合理的,至少从我对 makefile 的最低限度的理解来看,我有所有引用的 .c、.h 文件,但是我没有任何 .o 文件,并且似乎没有任何关于如何制作的说明这些。所以我的问题是:
我调用 make 实用程序是错误的吗?或者我需要先编译目标文件?或者...我需要在 make 文件中添加一些内容吗?
我再次拥有所有引用的 .c 和 .h 文件。
Edit:抱歉,我实际上丢失了那个特定文件,它似乎已经在某处消失了。但是,将其添加回来是我现在得到的错误:
c:\gen_progs\ph>mingw32-make
cc -O -c -o lookupa.o lookupa.c
process_begin: CreateProcess(NULL, cc -O -c -o lookupa.o lookupa.c, ...) failed.
make (e=2): The system cannot find the file specified.
mingw32-make: *** [lookupa.o] Error 2