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)
別の理由かもしれませんが、この問題は、Win Vista/7でそうであるように、PATH変数に括弧(
、)
が含まれている場合に明らかに発生します。残念ながら、利用可能なGNU for Windowsは絶望的に時代遅れです。
私の問題はmake
に正しいシェルを使用するように強制することで修正されました。メイクファイルの先頭に次の行を挿入してください。
Shell=C:/Windows/System32/cmd.exe
GitのbinディレクトリをPATH
環境変数に追加すると、その問題が発生しました。その理由は、GitにはMSYSのバージョンが同梱されており、MinGWと競合しているようです(MSYSやMinGWの正しいバージョンの場合は競合しない可能性がありますが、それは推測にすぎません)。
そのため、PATH
に(他の)MSYSディストリビューションがないことを確認してください。
Norbert 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"の頭字語であり、最新であり、makeおよびその他のツールが含まれています。
Windowsエラーコード0xC0000005
は、アクセス違反またはセグメンテーション違反を示します。