0

Cygwin での C コードのコンパイルで問題が発生しました。私の環境は Window XP の Cygwin です。

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

$ which cc
/usr/bin/cc.exe

私のメイクファイルは次のようになります。

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 を初めて使用します。私の設定またはメイクファイルの問題は何ですか?

4

1 に答える 1

5

問題はあなただと思います$PATH

MinGW と Cygwin の両方がインストールされているようです。それらは似ていますが、異なる環境です。

Cygwinmakeコマンドは/usr/bin/make(通常はC:\cygwin\bin\make) です。MinGWmakeコマンド/cygdrive/c/MinGW/bin/make( C:\MinGW\bin/make) を呼び出しています。ccしかし、Cygwinコマンド/usr/bin/cc( )を呼び出そうとしていますC:\cygwin\bin\cc

が の前に表示される$PATHように調整してください。おそらく、ファイルを変更してこれを行う必要があります。/usr/bin /cygdrive/c/MinGW/bin$HOME/.bash_profile

于 2012-08-10T08:15:47.587 に答える