cygwin中的gcc編譯器無法正確執行(放棄?)任何文件夾,但是/ bin。例如,試圖編譯我的代碼/ bin中的作品,但是從/斌/ myprogram使用詳細選項,我從編譯器收到以下消息:cygwin中的gcc編譯器無法正確執行(放棄?)
gcc version 4.5.3 (GCC)
COLLECT_GCC_OPTIONS='-O' '-ansi' '-v' '-c' '-mtune=generic' '-march=i686'
/usr/lib/gcc/i686-pc-cygwin/4.5.3/cc1.exe -quiet -v -D__CYGWIN32__ -D__CYGWIN__ -D__unix__ -D__unix -idirafter /usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../include/w32api -idirafter /usr/lib/gcc/i686-pc-cygwin/4.5.3/../../../../i686-pc-cygwin/lib/../../include/w32api sb.c -quiet -dumpbase sb.c -mtune=generic -march=i686 -ansi -auxbase sb -O -ansi -version -o /tmp/ccyhmnJp.s
Makefile:101: recipe for target `sb.o' failed
make: *** [sb.o] Error 1
其他人也報告了類似的問題:
http://cygwin.com/ml/cygwin/2010-01/msg00939.html
該解決方案似乎是修改路徑,雖然「從路徑中刪除X」聽起來像是一個臨時(和奇怪)的解決方法,而不是一個永久的解決方案,我不知道要刪除什麼。無論我從/ bin還是從/ bin/myprogram(我想要編譯)都運行了cygcheck。輸出如下。
從/斌:
$ cygcheck /usr/lib/gcc/i686-pc-cygwin/4.5.3/cc1.exe
C:\cygwin\lib\gcc\i686-pc-cygwin\4.5.3\cc1.exe
C:\cygwin\bin\cygcloog-0.dll
C:\cygwin\bin\cygwin1.dll
C:\WINDOWS\system32\KERNEL32.dll
C:\WINDOWS\system32\ntdll.dll
C:\cygwin\bin\cyggmp-10.dll
C:\cygwin\bin\cygppl_c-4.dll
C:\cygwin\bin\cygppl-9.dll
C:\cygwin\bin\cyggcc_s-1.dll
C:\cygwin\bin\cygstdc++-6.dll
C:\cygwin\bin\cyggmpxx-4.dll
C:\cygwin\bin\cygpwl-5.dll
C:\cygwin\bin\cyggmp-3.dll
C:\cygwin\bin\cygiconv-2.dll
C:\cygwin\bin\cygintl-8.dll
C:\cygwin\bin\cygmpc-1.dll
C:\cygwin\bin\cygmpfr-1.dll
C:\cygwin\bin\cygmpfr-4.dll
C:\cygwin\bin\cygppl_c-2.dll
C:\cygwin\bin\cygppl-7.dll
C:\cygwin\bin\cygz.dll
從/斌/ myprogram:
$ cygcheck /usr/lib/gcc/i686-pc-cygwin/4.5.3/cc1.exe
C:\cygwin\lib\gcc\i686-pc-cygwin\4.5.3\cc1.exe
C:\cygwin\bin\cygcloog-0.dll
C:\cygwin\usr\local\bin\cygwin1.dll
C:\WINDOWS\system32\ADVAPI32.DLL
C:\WINDOWS\system32\KERNEL32.dll
C:\WINDOWS\system32\ntdll.dll
C:\WINDOWS\system32\RPCRT4.dll
C:\WINDOWS\system32\Secur32.dll
C:\cygwin\bin\cyggmp-10.dll
C:\cygwin\bin\cygppl_c-4.dll
C:\cygwin\bin\cygppl-9.dll
C:\cygwin\bin\cyggcc_s-1.dll
C:\cygwin\bin\cygstdc++-6.dll
C:\cygwin\bin\cyggmpxx-4.dll
C:\cygwin\bin\cygpwl-5.dll
C:\cygwin\bin\cyggmp-3.dll
C:\cygwin\bin\cygiconv-2.dll
C:\cygwin\bin\cygintl-8.dll
C:\cygwin\bin\cygmpc-1.dll
C:\cygwin\bin\cygmpfr-1.dll
C:\cygwin\bin\cygmpfr-4.dll
C:\cygwin\bin\cygppl_c-2.dll
C:\cygwin\bin\cygppl-7.dll
C:\cygwin\usr\local\bin\cygz.dll
有一些明顯的區別,但我不知道這是什麼意思。我的系統上
路徑返回:
$ $PATH
-bash: /usr/local/bin:/usr/bin:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS: /cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/ProgramFiles/ImageMagick-6.8.6-Q16 :/cygdrive/c/Ruby193/bin:/cygdrive/c/Program: No such file or directory
的問題是,我該怎麼辦?如果答案是改變路徑變量,應該刪除什麼?路徑變量存儲在其中一個bash資源文件中,還是必須通過命令行進行更改?非常感謝!
謝謝!/usr/local/bin中有一些孤兒(?)dll:cygmhash-2.dll,cygmcrypt-4.dll,cygz.dll,cygwin1.dll。當這些被刪除的程序編譯在/ bin/myprogram /沒有投訴。 –