7

このOpenGL チュートリアルを使用しています。ウィンドウの作成に SDL を使用しましたが、今度は glew を使用する必要があります (チュートリアルの下部にある「もう 1 つ」セクションを参照してください)。しかし、リンク、インクルード、コピー、または定義したものはすべて、未解決の外部シンボル エラーです。

私は持っている:

  • プロジェクトを GLEW Lib フォルダーにリンクしました
  • インクルード パスにインクルード フォルダーを追加しました
  • include、bin、lib ファイルを適切なマップの C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\ にコピーしました。
  • glew32.dll と glew32mx.dll を system32 フォルダーにコピーしました
  • 含まれて定義された異なるファイル (スクリーンショット 2 を参照)

スクリーンショットで話しましょう。何を忘れましたか?

スクリーンショット:

ここに入れるはずだったのですが、新しいユーザー ルールのため、ここに含めることはできません。ここにリンクがあります

4

2 に答える 2

0

GLEW_STATIC を定義したので、glew32sd.lib または glew32s.lib (デバッグまたはリリース ビルド構成に応じて) にリンクする必要があると思います。

これは、最近完成した win32 glew アプリケーションのプリコンパイル済みヘッダーのスニペットです。リンクしたライブラリが表示されます。

#pragma comment( lib, "OpenGL32.lib")
#pragma comment( lib, "GLu32.lib")
#pragma comment( lib, "freeglut_static.lib")

#define GLEW_STATIC

#if defined _DEBUG
    #pragma comment(lib, "glew32sd.lib")
#else
    #pragma comment(lib, "glew32s.lib")
#endif

#include <GL\glew.h>
#include <gl\GL.h>
#include <gl\GLU.h>

glew32s.lib と glew32sd.lib (デバッグに相当するもの) を使用したことに注意してください。これは glew の静的ライブラリであると私は信じています。

ライブラリとインクルード フォルダーを正しく参照している場合、他に考えられる唯一の問題は、プロジェクトの出力フォルダーに dll ファイルをコピーする必要があることです。

たとえば、プロジェクトが c:\MyProject\Debug\MyProject.exe にビルドされる場合、dll を c:\MyProject\Debug にコピーします。

これが役立つことを願っています。

于 2013-06-03T23:44:34.507 に答える