확인 : 인터럽트 / 예외 포착 최근에 다음과 같은 오류가 발생했습니다. > make

MinGW 배포판에서 Make를 사용하고 있습니다. 항상 작동했지만 최근에 다음과 같은 오류가 발생했습니다.

> make clean
make: Interrupt/Exception caught (code = 0xc0000005, addr = 0x0040b0ac)

그리고 각 부분은 다음과 같습니다.

clean:
    del /S /Q *.o > nul
    del /S /Q *.cy.c > nul
    del /S /Q *.pyc > nul
    del /S /Q *.pyo > nul
    if EXIST build (rmdir /S /Q dist > nul)

나는 이것을 일으키는 원인을 모른다. 특히 항상 완벽하게 작동했기 때문입니다.



답변

나는 예외도 받기 시작했다.

make: Interrupt/Exception caught (code = 0xc00000fd, addr = 0x4227d3)

다른 이유가있을 수 있지만 PATH 변수에 괄호가 포함 된 경우이 문제가 분명히 발생 (, )그것이 승리 비스타 / 7처럼. 불행히도, Windows 용 GNU는 절망적으로 구식입니다.

make올바른 쉘을 사용하여 문제를 해결했습니다 .makefile 의 시작 부분에 다음 줄을 삽입하십시오.

SHELL=C:/Windows/System32/cmd.exe


답변

Git의 bin 디렉토리를 PATH환경 변수에 추가했을 때 문제가 발생했습니다 . 그 이유는 Git이 MSYS 버전과 함께 제공되며 MinGW와 충돌하는 것 같습니다 (MSYS 및 / 또는 MinGW의 올바른 버전 일 때 충돌하지 않지만 추측 일뿐입니다).

따라서에 (기타) MSYS 배포가 없는지 확인하십시오 PATH.


답변

Norbet P.의 답변에 추가하여 다음을 추가했습니다.

PATH=

내 Makefile 상단 에이 특정 문제가 해결되었습니다.


답변

make버그는 적어도 수정되었습니다

GNU Make 3.82
Built for i686-pc-mingw32

.


답변

마지막 릴리스가 2006 년 11 월 26 일에 다시 게시 될 때까지 GnuWin을 사용했습니다 . 그것은 약간 불충분하며 위와 같은 문제를 일으켰습니다. SHELL = C : /Windows/System32/cmd.exe를 설정하면 일부 문제가 해결되지만 새 운영 체제에서 이러한 이전 코드를 실행하면 안전하지 않은 것으로 느껴집니다

MinGw는 더 안전한 내기입니다. MinGw는 “Minimalist GNU for Windows”의 약자이며 최신 버전이며 제조업체 및 기타 도구를 포함합니다.

http://sourceforge.net/projects/mingw/files/


답변

Windows 오류 코드 0xC0000005는 액세스 위반 또는 세그먼트 오류를 ​​나타냅니다.

  • MinGW 설치가 손상 되었습니까?
  • 시스템이 올바르게 구성되어 있습니까? 최근에 시스템 설정이 변경 되었습니까?
  • 시스템에 하드웨어 문제가 있습니까? CHKDSK를 사용하여 하드 드라이브를 스캔하거나 Memtest86 + 와 같은 메모리 테스트를 수행해야 할 수도 있습니다 .

답변

컴파일 로그에서 Windows 플랫폼을 사용하고 있어도 “SHELL = sh”가 전달되고 있음을 알았습니다. 내 Makfile은 다음과 같습니다.

ifneq (, $ (findstring win, $ (RDI_PLATFORM))) SHELL = CMD endif

ifneq에 의견을 말하고 작동을 시작했습니다. 플랫폼이 올바르게 해석되지 않은 이유를 모르겠습니다.