0

mingw32 と Qt 4.8.5 を実行している 32 ビット ウィンドウがあります。

次のコマンドでプロジェクトをコンパイルしました。

qmake -project
qmake
make

起動してから 1 秒後にロードされ、Windows がクラッシュしたというメッセージが表示されます。これは、障害モジュール名が QtCore4.dll であることを示しているため、これらの dll ファイルに問題があるようです。

また、すべての dll ファイルを C:\Qt\4.8.5\bin\ からプロジェクトのリリース フォルダーにコピーしようとしましたが、それでも同じエラーです。

4

2 に答える 2

2

Qt Creator をダウンロードし、そこにあるプロジェクト ファイル (*.proファイル) を開き、プロジェクトをビルドしてから、デバッガーで実行します。正確にクラッシュした場所を教えてくれます。

于 2013-10-22T16:16:09.483 に答える
0

SIGSEGV シグナルを取得しています。これは、セグメンテーション違反を意味します。デバッグして、プログラムがクラッシュする正確なコード行を取得します。通常、配列境界の外に出たり、無効なポインター (たとえば、以前に削除されたポインターや nullptr を指すポインター) を介してデータにアクセスしたりするなど、ポインターを適切に操作しない場合に発生します。
例 1
int someArray[50];
someArray[100] = 5; /* segmentation fault, index 100 is beyond array boundary */

例 2
int *numberPtr = new int(5);
*numberPtr = 3; /* it's OK */
delete numberPtr; /* invalid pointer. you must not access it anymore */
*numberPtr = 3; /* segmentation fault, acceding an invalid pointer */

于 2018-07-10T20:14:20.623 に答える