3台のコンピュータがあり、そのうちの2台がWindows 8を使用しています。MinGWのg ++(4.8.1-4)の最新バージョンを使用すると、hello worldプログラムはコンパイルして実行するたびにフリーズしますWindows 7のstd :: endl MinGWを使用してコンパイルされたWindows8をクラッシュします
#include <iostream>
int main()
{
std::cout << "Hello, World!" <<std::endl;
return 0;
}
Windows 8のコンピュータ上ではなく、中にこれはグラムでうまくコンパイル++が、A.EXEを実行すると表示されます「こんにちは、世界!」ウィンドウがポップアップして「a.exeが機能しなくなった、Windowsがプログラムの解決策をオンラインで確認できる...」などと表示されます。
誰でもこの問題を見たことがありますか?
また、 "std :: cout < <"こんにちは、世界!\ n "< < std :: flush;"これにも同じ問題があります。バッファをフラッシュするすべての関数がクラッシュを引き起こすようです。エリックの助言に従い
、私はプログラムを再コンパイルし、gdbの中でそれを実行し、次の出力ました:
Program received signal SIGILL, Illegal instruction.
0x00405065 in _Jv_RegisterClasses()
デバッガで実行してみます。それは少なくとも失敗がどこにあるか教えてくれるでしょう。 –
OK、gdbを実行しました。プログラム受信シグナルSIGILL、不正な命令、_Jv_RegisterClasses()で0x00405065と表示されました – user1276560
おそらく、標準のC++ライブラリが互換性のないバージョンのランタイムでコンパイルされていると思います最も基本的なライブラリのようなものです。 –