0

Windows の Eclipse (mingw) で glew を動作させようとしています。このコンテキストで Visual Studio を使用しないことは非常に珍しいようです。glew のインストール手順は、単に「build/vc6/ のプロジェクト ファイルを使用する」だけです...

glew の readme には次のようにも書かれています。最上位のソース ディレクトリから次のように再生成されます: make extensions"

glew を Eclipse と Windows で動作させるには、UNIX 環境でコンパイルする必要がありますか? 他に方法はありませんか?確かに、それをやってのけることはおそらく学習経験になるでしょう (私が成功した場合) が、私の時間は実際に自分のプロジェクトに取り組むのに最も適していると感じています. また、すべてをクロスコンパイルできたとしても、Visual Studio 以外で動作するのでしょうか?

すべてが実行不可能で、最善の解決策は Visual Studio をインストールすることですか?

Google はあまり役に立ちませんでした。これをやろうとしたのは私だけだと思います (これには正当な理由がありますか?)。

4

2 に答える 2

3

それでも、VS コンパイラが常に保持するとは限らない柔軟性が必要な場合は、glew ソース zip ファイルを (メインの sourceforge ページで) ダウンロードしてみてください。Eclipse で動作するために Unix 環境が必要であると言うのは大きな間違いです。現時点では MinGW で動作しています。ソースをダウンロードして展開し、このバッチ ファイルを作成して、"Makefile" を使用してディレクトリに配置します。

@echo on
set SYSTEM=mingw
set GLEW_DEST=C:\...[where you extracted it to]...\glew-1.7.0\usr
path = %PATH%;C:\MinGW\msys\1.0\bin;

make all
make install.all

pause

...[where you extracted it to]...ダウンロードしたソース zip を解凍したパスに変更します。それを保存して実行すると、必要なすべての dll、lib、およびヘッダーを含む「usr」フォルダーが表示されます。それらをそれぞれの対応する OpenGL にコピーします (または、後で Eclipse で指定できる場所にコピーします)。

ここで、Eclipse で新しいプロジェクトを作成し、少なくともこれをどこかに含めるようにしてください。

#ifndef GLEW_STATIC
#define GLEW_STATIC
#endif //GLEW_STATIC


#include <Windows.h>
#include <GL/glew.h>
#include <GL/wglew.h>

glew ヘッダーを OpenGL ヘッダー以外の場所に配置する場合は、GL/. Project->Properties->C/C++ Build->Settings->Tool Settings->MinGW C++ Linker->Libraries次のライブラリに移動して追加することで、ライブラリを含めます。

glew32
opengl32
glu32
glew32.dll

必要なライブラリ検索パスを追加します。私の場合"C:\MinGW\lib"、2番目の手段として使用しました。

すべてのプロジェクト ファイルを保存し、 を使用してProject->Clean...、プロジェクトをビルドします。glew エラーが発生せず、プロジェクトの準備が整っていれば、実行できるはずです。

それがうまくいくことを願っています!それは私のためにしました。

于 2011-09-26T18:45:17.197 に答える
0

次のことを試してください。

  1. ここから GLEW 用の Windows 32 ビット バイナリをダウンロードします: http://glew.sourceforge.net/index.html
  2. 指示に従って、プロジェクトを GLEW にリンクします: http://glew.sourceforge.net/install.html
  3. Eclipse も mingw でコンパイルするようにセットアップされていることを確認してください。(私はあなたがこれをしたと仮定します。)
  4. cout << "Hello world!";
于 2010-04-24T14:08:33.193 に答える