1

GLFW と GLEW を使用してコードをコンパイルすると、glewInit() は

    undefined reference to '_imp_glewInit@0'
興味深いのは、そのすぐ上にある glewExperimental トークンに問題がないことです。(そして glewInit() をコメントアウトしてコンパイルすると、正常にコンパイルされて実行されます)

私の全体的な質問は、glewExperimental を true に変更しているのに glewInit() が定義されていないのはなぜですか。この問題を解決するにはどうすればよいですか。

私の MinGW コンパイラ呼び出し:

    C:\MinGW\bin\c++.exe -x c++ -o "%cd%\aeonsplice.exe" -static "main.cpp" -Wl,glew32.dll,glfw.dll

glewInit() を呼び出す場所:

    glewExperimental = true; // これは問題なくチェックアウトされます (glewExperimental はどこにも宣言されていません)
    if (gewInit() != GLEW_OK) // ここで壊れます
    {
        fprintf( stderr, "GLEW の初期化に失敗しました。終了します。\n" );
        aeonAPITerminate(); // これは glfwTerminate() を呼び出します
        false を返します。
    }

さらに情報が必要な場合は、リクエストに応じて編集します。はい、検索して glewInit() が機能しないことに関する 20 以上の質問を見つけましたが、どれも私の問題と一致しませんでした。

4

1 に答える 1

2

mingw コンパイラの場合、glew32.lib ではなくglew32s.libをリンクする必要があり、すべてのリンカーのリストの最初にある必要があります。

于 2013-06-06T08:48:54.837 に答える