2015-10-12 20 views
5

Java/LWJGLで簡単なゲームを作ろうとしています。私は窓で作られたチュートリアルに従っていたし、Macを使っている。私はキャラクターのウィンドウキャラクターを開くためのコードをコピーし、プログラムは即座にクラッシュし、非常に長くて奇妙なエラーが出てきました。おそらくポインターと関係があります(私は実際にはわかりません)。ここでは、幅と高さは、プロパティで定義されている私が使用したウィンドウ作成するためのラインである:LWJGL:オープニングウィンドウによりプログラムがクラッシュする

2015-10-12 13:18:38.475 java[496:31875] *** Assertion failure in + [NSUndoManager _endTopLevelGroupings], /SourceCache/Foundation/Foundation-1154/Misc.subproj/NSUndoManager.m:340 
2015-10-12 13:18:38.476 java[496:31875] +[NSUndoManager(NSInternal) _endTopLevelGroupings] is only safe to invoke on the main thread. 
2015-10-12 13:18:38.476 java[496:31875] (
0 CoreFoundation      0x00007fff98c3003c __exceptionPreprocess + 172 
1 libobjc.A.dylib      0x00007fff9620a76e objc_exception_throw + 43 
2 CoreFoundation      0x00007fff98c2fe1a +[NSException raise:format:arguments:] + 106 
3 Foundation       0x00007fff99f6199b -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 195 
4 Foundation       0x00007fff99ee364f +[NSUndoManager(NSPrivate) _endTopLevelGroupings] + 156 
5 AppKit        0x00007fff96ecbb95 -[NSApplication run] + 756 
6 libglfw.dylib      0x000000010d597974 initializeAppKit + 1332 
7 libglfw.dylib      0x000000010d597035 _glfwPlatformCreateWindow + 37 
8 libglfw.dylib      0x000000010d59397b glfwCreateWindow + 443 
9 ???         0x0000000104411eee 0x0 + 4366343918 
10 ???         0x0000000104406929 0x0 + 4366297385 
11 ???         0x0000000104406929 0x0 + 4366297385 
12 ???         0x0000000104406929 0x0 + 4366297385 
13 ???         0x000000010440685a 0x0 + 4366297178 
14 ???         0x0000000104406d34 0x0 + 4366298420 
) 
2015-10-12 13:18:38.477 java[496:31875] *** Assertion failure in +[NSUndoManager _endTopLevelGroupings], /SourceCache/Foundation/Foundation-1154/Misc.subproj/NSUndoManager.m:340 
2015-10-12 13:18:38.477 java[496:31875] An uncaught exception was raised 
2015-10-12 13:18:38.477 java[496:31875] +[NSUndoManager(NSInternal) _endTopLevelGroupings] is only safe to invoke on the main thread. 
2015-10-12 13:18:38.477 java[496:31875] (
0 CoreFoundation      0x00007fff98c3003c __exceptionPreprocess + 172 
1 libobjc.A.dylib      0x00007fff9620a76e objc_exception_throw + 43 
2 CoreFoundation      0x00007fff98c2fe1a +[NSException raise:format:arguments:] + 106 
3 Foundation       0x00007fff99f6199b -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 195 
4 Foundation       0x00007fff99ee364f +[NSUndoManager(NSPrivate) _endTopLevelGroupings] + 156 
5 AppKit        0x00007fff96ecbc41 -[NSApplication run] + 928 
6 libglfw.dylib      0x000000010d597974 initializeAppKit + 1332 
7 libglfw.dylib      0x000000010d597035 _glfwPlatformCreateWindow + 37 
8 libglfw.dylib      0x000000010d59397b glfwCreateWindow + 443 
9 ???         0x0000000104411eee 0x0 + 4366343918 
10 ???         0x0000000104406929 0x0 + 4366297385 
11 ???         0x0000000104406929 0x0 + 4366297385 
12 ???         0x0000000104406929 0x0 + 4366297385 
13 ???         0x000000010440685a 0x0 + 4366297178 
14 ???         0x0000000104406d34 0x0 + 4366298420 
) 
2015-10-12 13:18:38.478 java[496:31875] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '+[NSUndoManager(NSInternal) _endTopLevelGroupings] is only safe to invoke on the main thread.' 
*** First throw call stack: 
(
0 CoreFoundation      0x00007fff98c3003c __exceptionPreprocess + 172 
1 libobjc.A.dylib      0x00007fff9620a76e objc_exception_throw + 43 
2 CoreFoundation      0x00007fff98c2fe1a +[NSException raise:format:arguments:] + 106 
3 Foundation       0x00007fff99f6199b -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 195 
4 Foundation       0x00007fff99ee364f +[NSUndoManager(NSPrivate) _endTopLevelGroupings] + 156 
5 AppKit        0x00007fff96ecbc41 -[NSApplication run] + 928 
6 libglfw.dylib      0x000000010d597974 initializeAppKit + 1332 
7 libglfw.dylib      0x000000010d597035 _glfwPlatformCreateWindow + 37 
8 libglfw.dylib      0x000000010d59397b glfwCreateWindow + 443 
9 ???         0x0000000104411eee 0x0 + 4366343918 
10 ???         0x0000000104406929 0x0 + 4366297385 
11 ???         0x0000000104406929 0x0 + 4366297385 
12 ???         0x0000000104406929 0x0 + 4366297385 
13 ???         0x000000010440685a 0x0 + 4366297178 
14 ???         0x0000000104406d34 0x0 + 4366298420 
) 
libc++abi.dylib: terminating with uncaught exception of type NSException 

A:私は私のMac上でそれを実行

window = glfwCreateWindow(width, height, "Flappy Bird", NULL, NULL); 

が、それは私に、このエラーが発生します「libglfw.dylibプラグインの使用中に予期せずjavaが終了する」というウィンドウがポップアップ表示されます。

LWJGLを間違ってインストールしましたか、コードに欠陥がありますか?助けてくれてありがとう!

<terminated> 
+0

すべての例外を無視してはいけません。例外を投げたり、現時点で単純に戻ってくるところにメッセージを印刷したりしてください。また、[glfwSetErrorCallback](http://javadoc.lwjgl.org/org/lwjgl/glfw/GLFW.html#glfwSetErrorCallback(org.lwjgl.glfw.GLFWErrorCallback))でエラーコールバックを設定し、 ' - Dorg.lwjgl.util.Debug = true'。 – javac

答えて

1

LWJGL 3を使用している場合は、Oskarのビデオチュートリアルに従ってプロジェクトとディスプレイを設定することをお勧めします。

Workspace setting

Display tutorial

そして、あなたのglfwCreateWindow呼び出しでMemoryUtil.NULLの代わりに、標準nullを使用するようにしてください。

+1

'MemoryUtil.NULL'は長いですが' null'はオブジェクトなので、代わりに使うことはできません。 – javac

関連する問題