2

注: glew.c スクリプトが読み込まれていないため、C 言語でこの問題を抱えている人の投稿を見たことがありますが、それは私の問題ではないと思います。GLEWドキュメンテーションWebサイトの正確な手順を可能な限り厳密にたどることから(そして、glew.cというファイルを追加する必要があることについては言及されていませんでした)、MinGWでglewをセットアップし、dllとライブラリを適切な場所に抽出しましたフォルダがまだコンパイル時に次のメッセージが表示されます。

undefined reference to `_imp__glewInit@0`

これが私のメインファイルmain.cppです:

#include <stdlib.h>
#include <iostream>
#include <windows.h>
#include <GL/glew.h>
#include <GL/glut.h>

using namespace std;

 int main(int argc, char *argv[])
{
    glutInit(&argc, argv);
    glutCreateWindow("Glew Test");
    GLenum err = glewInit();

    if (GLEW_OK != err)
    {
        cout << "Something effed up";
    }

    cout << "Awwwwwwwwhhhhh Yeeeeeeeaaaaah!!!";

return 0;
}

そして、ここに私の MakeFile があります:

MY_LIBS = -lglut32 -lglew32 -lopengl32 
glewex:
    g++ -g main.cpp -o glewex $(MY_LIBS)

なぜこのエラーが発生するのかについてのアイデアはありますか?

4

2 に答える 2

9

なぜこのライブラリへの外部リンクを主張するのですか?それは価値があるよりもはるかに多くの問題を引き起こします。

プロジェクトに追加glew.cします。残りのソースファイルと一緒にコンパイルするだけです。#define GLEW_STATICあなたがそれがうまくいく限り。問題が解決しました。

ライブラリへのリンクに成功した場合でも、1つの特定のアーキテクチャ/ビルド/バージョンにバインドされます。含めるだけで、glew.c事実上どこにでもプロジェクトを自由に構築できます。

于 2012-09-14T15:08:41.503 に答える