make无法在Cygwin中运行

时间:2012-08-10 07:14:15

标签: makefile cygwin

我遇到了Cygwin中c代码编译的问题。 我的环境是Window Xp中的Cygwin,

$ which make
/cygdrive/c/MinGW/bin/make

$ which cc
/usr/bin/cc.exe

我的makefile看起来像:

CC=cc
CFLAGS= -g  -std=c99 -Wall -pedantic
EXE=graph
SRCS=graph.c
$(EXE):$(OBJS)
        $(CC) $(CFLAGS) $(SRCS) -o $(EXE)
CLEAN:
        rm -fr $(OBJS) $(EXE)*

文件graph.ccc位于同一文件夹中。

我运行make,但显示

cc -g  -std=c99 -Wall -pedantic graph.c -o graph
process_begin: CreateProcess(C:\cygwin\bin\cc.exe, cc -g -std=c99 -Wall -pedantic graph.c -o graph, ...) failed.
make (e=5): Access is denied.
make: *** [graph] Error 5

但是当我跑cc -g -std=c99 -Wall -pedantic graph.c -o graph时 它工作正常。

我是Cygwin的新手,我的设置或makefile有什么问题?

1 个答案:

答案 0 :(得分:5)

我认为问题出在$PATH

看起来你已经安装了MinGW和Cygwin。他们是相似但不同的环境。

Cygwin make命令为/usr/bin/make(通常为C:\cygwin\bin\make)。您正在调用MinGW make命令/cygdrive/c/MinGW/bin/makeC:\MinGW\bin/make)。但是它试图调用Cygwin cc命令,/usr/bin/ccC:\cygwin\bin\cc)。

调整$PATH以便{/ 1}} /usr/bin之前显示,您应该没问题。您可能希望通过修改/cygdrive/c/MinGW/bin文件来执行此操作。