cygwin에서 gcc 컴파일러가/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를 실행했다. 결과는 다음과 같습니다./빈에서
:/빈/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\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
:
$ 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 : cygmhash-2.dll, cygmcrypt-4.dll, cygz.dll, cygwin1.dll에 고아 (?) dll이 있습니다. 이것들이 제거되었을 때, 프로그램은/bin/myprogram /에 불만없이 컴파일되었습니다. –