Makefile make无法在Cygwin中工作

Makefile make无法在Cygwin中工作,makefile,cygwin,Makefile,Cygwin,我在Cygwin中遇到了c代码编译问题。 我的环境是Windows 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 $(EX

我在Cygwin中遇到了c代码编译问题。 我的环境是Windows 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.c
cc
位于同一文件夹中

我运行
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有什么问题?

我认为问题在于您的
$PATH

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

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


调整您的
$PATH
,使
/usr/bin
显示在
/cygdrive/c/MinGW/bin
之前,您应该可以。您可能希望通过修改
$HOME/.bash\u配置文件来实现这一点。

我认为问题在于您的
$PATH

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

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


调整您的
$PATH
,使
/usr/bin
显示在
/cygdrive/c/MinGW/bin
之前,您应该可以。您可能想通过修改您的
$HOME/.bash\u配置文件来完成此操作。

谢谢,我下载了最新的Cygwin,品牌在/usr/bin中,一切都很好。@Weida:很高兴我能帮上忙。你看了吗?谢谢,我正在下载最新的Cygwin,品牌在/usr/bin中,一切都很好。@Weida:很高兴我能帮上忙。你读过吗?这个问题不是“太本地化”。它帮助我解决了我的问题——答案很准确。这个问题不是“太本地化”。它帮助我解决了我的问题——答案很准确。