当我尝试在 Windows 7 64 位上的 Cygwin
中使用 Makefile
编译 Keys.c
程序时
它应该按如下方式编译
gcc -g -Wall -ansi -c keys.c
但我得到以下内容
`cc keys.c -o keys` not `gcc -g -Wall -ansi -c keys.c`
make文件如下
CC = gcc
CFLAGS = -g -Wall -ansi
keys: keys.c
$(CC) $(CFLAGS) -c keys.c
最佳答案
在keys.c
之前删除-c,这里发生的事情是当你给出
$(CC) $(CFLAGS) -ckeys.c
然后仅创建目标文件keys.o
。由于没有编写生成最终目标的规则,因此 makefile 将使用隐式规则来创建目标。
CC = gcc
CFLAGS = -g -Wall -ansi
keys: keys.c
$(CC) $(CFLAGS) keys.c
关于c - Cygwin 中的 Makefile 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20124382/