make无法在Cygwin中运行

Wei*_*ida 0 cygwin makefile

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

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

$ which cc
/usr/bin/cc.exe
Run Code Online (Sandbox Code Playgroud)

我的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)*
Run Code Online (Sandbox Code Playgroud)

该文件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
Run Code Online (Sandbox Code Playgroud)

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

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

Kei*_*son 5

我认为问题在于你$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_profile