VS2010 プロジェクトで GLEW を動作させるためにいくつかの方法を試しました。失敗。最初は、Web サイトからビルド済みのライブラリと dll を使用してみました。これらのビルド済みファイルをhttp://glew.sourceforge.net/index.htmlからダウンロードし、次のようなことを行いました: GLEW ウィンドウのセットアップ?
.h ファイルは C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include に配置されました
.lib ファイルは C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib\x64 に配置されました (念のため、1 レベル上げました)
glew32.dll は C:\Windows\SysWOW64 に移動しました
linker->input glew32.lib、GlU32.lib、および OpenGL32.lib を追加の依存関係に追加します
プリプロセッサ定義: GLEW_BUILD と GLEW_STATIC を入れます (私のプログラムは DLL である必要がありますが、他のプログラムは STATIC で成功しているように見えるので、両方を含めます)
これらの設定でプログラムを実行すると、glewInit() は GLEW_OK ではありません。glewInit() が失敗しても、その関数を奇妙に認識します。「glCreateProgram()」のような別の glew 関数を使用すると、次のエラーが発生します。
Error 56 error LNK2020: unresolved token (0A000327) __glewCreateProgram
C:\Users\aab\studyWrist\Visualization\libCoin3D\ShaderHandler.obj libCoin3D
Error 57 error LNK2001: unresolved external symbol __glewCreateProgram
C:\Users\aab\studyWrist\Visualization\libCoin3D\ShaderHandler.obj libCoin3D
Error 58 error LNK1120: 2 unresolved externals
C:\Users\aab\studyWrist\Visualization\libCoin3D\Debug\libCoin3D.dll libCoin3D
したがって、stackoverflow に関するその他の提案は glew を再構築することです。そこで次にVS2010でglew32dをビルドしてみました。OpenGL: How to compile glew32.dll from source fileに従い、glew32d.dll と glew32d.lib を取得しました。
glew32d.lib は C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib\x64 に配置されます (プログラムは x64 フォルダーに配置した場合にのみ lib を認識し、レベルアップではありません)
glew32d.dll は C:\Windows\SysWOW64 に移動しました
linker->input glew32d.lib (これは変更されています)、GlU32.lib、および OpenGL32.lib を追加の依存関係に追加します
プリプロセッサ定義: GLEW_BUILD および GLEW_STATIC に入れる
私の次のエラーは glewInit だけが原因です:
Error 56 error LNK2028: unresolved token (0A000383) "extern "C" unsigned int
__cdecl glewInit(void)" (?glewInit@@$$J0YAIXZ) referenced in function "public: __cdecl
MasterCube::MasterCube(void)" (??0MasterCube@@$$FQEAA@XZ)
C:\Users\aab\studyWrist\Visualization\libCoin3D\MasterCube.obj libCoin3D
Error 57 error LNK2019: unresolved external symbol "extern "C" unsigned int
__cdecl glewInit(void)" (?glewInit@@$$J0YAIXZ) referenced in function "public: __cdecl
MasterCube::MasterCube(void)" (??0MasterCube@@$$FQEAA@XZ)
C:\Users\aab\wristuptodate\studyWrist\Visualization\libCoin3D\MasterCube.obj
libCoin3D
何が問題なのか、どうすれば修正できるのでしょうか。