LoginSignup
2
1

More than 3 years have passed since last update.

Windows×Eclipse×freeglutでOpenGLを使いたい

Posted at

はじめに

こんにちはZeniZeniです。
大学の課題でOpenGLを触ることになったのですが、その際の環境構築でえらく躓いたので、これ以上の犠牲者が出ないようにその方法を共有しようと思います。

環境

  • Windows10
  • MinGW (version 8.2.0)
  • Eclipse (Version: 2019-12 (4.14.0))

C言語のコンパイル環境構築とEclipseのインストールは省略します。
より詳しい方法は下記のサイトを参考にしてください。
2020年版 C言語/C++ 入門者のための環境構築 (Windows編)
【ゼロからわかる】Eclipseのインストールと初歩的な使い方

freeglutの準備

ではOpenGLを扱いやすくするためのライブラリ、freeglutの準備をしていきます。
まずfreeglutのMinGWパッケージを下記のサイトからダウンロードしてください。
freeglut Windows Development Libraries
bandicam 2020-01-26 15-00-10-622.jpg
そしてダウンロードしたzipファイルを解凍してください。

dllファイルの移動

解凍したら、中のファイルを移動していきます。
まずbinフォルダ内のfreeglut.dllをどこかPATHの通っているところに移動します。ここでfreeglut.dllにはbin\freeglut.dll(32bit版)とbin\x64\freeglut.dll(64bt版)の二つ存在しどちらを使えばいいのか迷うと思います。パソコンが64bitなんだからx64の方かと思うかもしれません。違います。 MinGWのコンパイラは64bitのwindowsプラットフォームでも32bitで動いているのでここではbin\freeglut.dll(32bit版)を使います。それではこのfreeglut.dllをPATHの通っているところに移動します。多くのサイトでwindowsが32bitならC:Windows\System32へ、64bitならC:Windows\SysWOW64へ移動しろと書いてあります。ここは素直にSysWOW64の方へ移動しましょう。

includeフォルダの移動

freeglut\include\GLフォルダの中に入っているヘッダーファイル群は、MinGWディレクトリ内のinclude\GLフォルダ内に追加しましょう(MinGWでのインストールと一緒にGLフォルダは生成されているはずです。)
移動するとこのようになっていると思います。
bandicam 2020-01-26 15-55-48-406.jpg

libフォルダの移動

freeglut\libフォルダ内のlibfreeglut.a、libfreeglut_static.aファイルも移動します。これらもlib直下にあるのと、lib\x64内にあるやつとで2種類ありますが、dllファイルと同様に32bitのもの(lib直下のやつ)を移動します。移動先はMinGW\lib直下です。
bandicam 2020-01-26 16-02-47-127.jpg

これでfreeglut側の準備は完了です。

Eclipseの設定

次にEclipseでの設定です。
適当にプロジェクトを作成して、OpenGLを使うコードを書いておきます。
コードはAn Eclipse / CDT Tutorial with OpenGLで使われている赤いCubeを描画するコードにします。

その後プロジェクトパネルで自分が今触っているプロジェクトを左クリックしてPropertiesを開きます。
Propaties内のC/C++Build\Settingsを選択し、Tool Settings内のMinGW C Linkerを選択し、Librariesを編集していきます。
右上の+マークからライブラリ名を追加していきます。
上から順に"opengl32"、"glu32"、"freeglut"となるように追加してください。順番が違うとコンパイル時にエラーが吐かれます。
bandicam 2020-01-26 16-00-52-428.jpg

これでEclipseの設定は完了です。ビルドしたファイルを実行すれば赤いCubeが描画されているウィンドウが出現します。
bandicam 2020-01-26 16-18-37-541.jpg

参考文献

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1