windows 10 & Visual Studio 2015 環境下で OpenGL を扱おうと思ったが、けっこうハマりポイントがあるようなので、忘れないうちにメモ。
ここから、ソースを持ってくる。最新版は 3.0.0 だが、CMake を使う必要があるらしい。面倒なので 2.8.1 にした。
Lhaplus などで解凍。
解凍すると /VisualStudio/2012/freeglut.sln があるはず。これを Visual Studio 2015 から強引に選ぶ。勝手に変換してくれる。
Releaseモードにして,freeglutのビルド。
lib ディレクトリに freeglut.dll と freeglut.lib ができているはずなので、それぞれ C:\Windows\SysWOW64 と C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib にコピー。
include\GL ディレクトリには、freeglut.h, freeglut_ext.h, freeglut_std.h, glut.h ができているので、とりあえず C:\Program Files (x86)\ Microsoft Visual Studio 14.0\VC\include にコピー。(C:\Program Files (x86)\Windows Kits\10 の方にコピーしてもいいように思うが、試していない)
これで準備終了。
コーディング時には
#include <glut.h>
などとして利用。試しにこちらのサンプルプログラムを走らせてみた。
なかなか軽快。
なお、sysWOW64 というディレクトリに触れたが、これに似たようなディレクトリに System32 というものがある。上では詳しくは書かなかったが
System32 は64ビット用のライブラリ
sysWOW64 は32ビット用のライブラリ
をそれぞれ格納しておくフォルダです。sysWOW64 の 64 にひきづられてここに64ビットコンパイルのライブラリを入れてしまうとたぶん動きません。
32ビットから64ビットへの移行期、マイクロソフトはこうやって対処したんですね。一方、Mac OSX ではユニバーサルバイナリという洗練された仕組みを提供。こういうところにも両者の設計思想の違いが出てますね。


Hi! This is my first visit to your blog! We are a collection of volunteers and starting a new initiative in a community in the same niche.
Your blog provided us useful information to work on. You have done
a marvellous job!