0

glewInit() を使用して実行しようとすると、マルチプロジェクト ソリューションが終了します。ただし、プロジェクトはそれ自体でうまく構築されます。この 1 行をコメント アウトすると、ソリューションを実行できます。

Visual Studios 2010 の大規模なソリューションの一部であるプロジェクトを作成しています。このプロジェクトでは、coin3d と呼ばれるサード パーティのグラフィック ライブラリを使用しています。glew をダウンロードしてインストール/含めましたが、プロジェクトはエラーなしで正常にビルドされるため、リンクの問題はありません。このプロジェクトにはエントリ ポイントがなく、生成された dll はソリューションによって使用されるだけです。そのため、それに関する特定のランタイム エラー ログを表示できません。失敗したときにプロジェクトのdllが見つからないことを教えてくれるだけです。

通常のopenglを使用してジオメトリなどを画面にレンダリングできるため、サードパーティのグラフィックライブラリがopenglコンテキストを作成することを知っています。しかし、glewInit() を実行するとすぐに、プロジェクトの実行に失敗します (ビルドしても)。コンテキストが作成されたかどうかを確認して印刷する方法はありますか? (念のために)

GLEW の Web サイトには次のように書かれています。

"On Windows, you also need to define the GLEW_STATIC preprocessor token when
 building a static library or executable, and the GLEW_BUILD preprocessor
 token when building a dll"

それは、このようにプロジェクトのプリプロセッサ定義に入れるだけということですか? プリプロセッサ定義

GLEW_STATICではなく、GLEW_BUILDだけで実行しようとしました。違いはありませんでした。不足している手順はありますか?

4

1 に答える 1

0

コンテキストが作成されたかどうかを確認して印刷する方法はありますか? (念のために)

次のことができます。

if (glewInit() != GLEW_OK) 
{
    fprintf(stderr, "Failed to initialize GLEW\n");
    return -1;
}
于 2013-04-27T16:35:40.850 に答える