0

この質問の前に、私はopenGLとVisual Studioを初めて使用するので、かなり明白な何かが欠けている可能性があります。使用しているopenGLのバージョンに関する情報を表示する基本的なウィンドウを設定することになっているopenGLチュートリアルに従っています。

チュートリアル| 設定

参考までに、NVidiaGTX670m上の64ビットWindows7でVS2010を実行しています。ボイラープレートプログラムをopenGLv3.xで実行するように指定した場合。それはうまく動作します。v4.xで実行するように指定した場合。次の出力でクラッシュします(後で続行するための質問):

'Engine.exe': Loaded 'D:\Engine\Engine\Release\Engine.exe', Symbols loaded.
'Engine.exe': Loaded 'C:\Windows\SysWOW64\ntdll.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\kernel32.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\KernelBase.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\freeglut.dll', Binary was not built with debug information.
'Engine.exe': Loaded 'C:\Windows\SysWOW64\user32.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\gdi32.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\lpk.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\usp10.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\msvcrt.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\advapi32.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\sechost.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\rpcrt4.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\sspicli.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\cryptbase.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\opengl32.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\glu32.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\ddraw.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\dciman32.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\setupapi.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\cfgmgr32.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\oleaut32.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\ole32.dll', Symbols loaded.
'Engine.exe': Loaded 'C:\Windows\SysWOW64\devobj.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\dwmapi.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\winmm.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\msvcr100.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\imm32.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\msctf.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\nvinit.dll', Cannot find or open the PDB file
'Engine.exe': Loaded 'C:\Windows\SysWOW64\uxtheme.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Program Files (x86)\Common Files\Spigot\Search Settings\wth159.dll', Cannot find or open the PDB file
'Engine.exe': Loaded 'C:\Windows\SysWOW64\psapi.dll', Symbols loaded (source information stripped).
'Engine.exe': Loaded 'C:\Windows\SysWOW64\ig7icd32.dll', Cannot find or open the PDB file
'Engine.exe': Loaded 'C:\Windows\SysWOW64\version.dll', Symbols loaded (source information stripped).
'Engine.exe': Unloaded 'C:\Windows\SysWOW64\version.dll'
The program '[7332] Engine.exe: Native' has exited with code 1 (0x1).

この問題をグーグルで検索する際に、デバッグメニューでMSサーバーからシンボルを取得し、警告をエラーとして扱うオプションをオフにすることを推奨する人がいるのを見ました。両方を試しましたが、プログラムがクラッシュしました。そうでない場合でも、原因を調査する必要があると感じています。

仮定: NVidiaは、GTX670をopenGL4.xをサポートするものとしてリストしています。670mがサポートされていることを明示的には示していませんが、通常の670がサポートされている場合、そのモバイルバージョンはサポートされていると思います。

質問:プログラムがopenGL v3.xで正常に動作し、ハードウェアがopenGL v4.xをサポートする必要がある場合、プログラムがクラッシュする原因は何ですか?

4

2 に答える 2

1

プログラムはクラッシュしませんでした。一部のロジックの条件が満たされていないため、別のブランチが実行された可能性がありますが、実行は完了しました。

投稿した出力は、コードがExitProcess(1)またはで終わるブランチに入ったことを示唆する最後の行を除いて、「問題」とは何の関係もありませんreturn EXIT_FAILURE

于 2013-02-15T01:01:25.707 に答える
0

みんなの助けに感謝します。これを別のマシンで実行することになりましたが、問題は発生しませんでした。ラップトップの仕様に問題があるか、freeglut に問題があるかのどちらかです

于 2013-02-15T19:36:27.993 に答える