OpenGL di MSVC++ 2008 Express

Mungkin bisa berguna untuk yang sedang belajar Computer Graphics, C++ / MSVC++, OpenGL dan segala turunannya.

Saya menghabiskan beberapa jam untuk menginisiasi OpenGL & GLUT (OpenGL Utility Toolkit) di MSVC++ 2008-Express Edition (selanjutnya disingkat menjadi MSVC saja ya). Kenapa? Saya akan eksplorasi beberapa behavioral engines yang memang ditulis menggunakan C++ dan memakai platform OpenGL.
Selalu susah di langkah awal
. Termasuk yang ini.

1. Menyiapkan environment untuk OpenGL dan GLUT di MSVC
1.1 Pastikan bahwa MSVC sudah diupgrade dengan Windows SDK  for Windows Server 2008 dan .NET Framework 3.5 di sini . Instalasinya cukup lama karena filenya cukup besar juga. Pentingnya adalah karena ada OpenGL library di dalamnya. Jadi kalau tidak diupgrade kita tak mungkin bisa build program dengan OpenGL.
Kalau tidak ada masalah dan dengan beberapa kali rebooting, kita bisa mulai masuk ke MSVC. Lanjut.

1.2 Menginstalasi beberapa library
2.1 Membuat program dengan OpenGL pastinya membutuhkan beberapa library OpenGL yang Windows sendiri tak punya. Karena itu kita harus produksi library sendiri (download dan produce atau download dan langsung pakai). Ada dua library yang kita butuhkan untuk awal-awal ini, GLUT dan FREEGLUT. Dari site-nya kita bisa download source codenya di sini dan di sini. Pada dasarnya kita harus produksi tiga macam file dari masing-masing itu yakni file header (.h): freeglut.h dan glut.h, glut32.h, file library (.lib): freeglut.lib,  glut32.lib dan file dynamic linking library (.dll): freeglut.dll,glut32.dll,glut.dll. Apabila kita download source code, kita harus build di MSVC untuk membuat lib dan dll-nya. Apabila MSVC sudah terinstal, buka file freeglut.dsp atau glut.dsp (VC project) dan lakukan batch build. Proses ini akan memproduksi .lib dan .dll.
2.2 Ini penting. Copy *.dll (freeglut.dll, glut32.dll) ke \windows\system32.  Tanpa ini, program bisa dicompile (.exe) tapi tak akan jalan di windows.
2.3 Copy *.h (minimal freeglut.h, glut32.h) ke \Program Files\Microsoft SDKs\Windows\vX.X\Include\GL folder. Ini adalah header untuk beberapa program yang menggunakan OpenGL.
2.4 Copy *.lib (freeglut.lib, glut32.lib) ke \Program Files\Microsoft SDKs\Windows\vX.X\Lib folder.
2.5
Mungkin ada kasus error karena file afxres.h tidak ditemukan bila kita berusaha build program dengan OpenGL library. Ini juga bikin mumet. Ternyata masalahnya karena pemakai MSVC express edition tak kebagian library MFC (Microsoft Foundation Class), library untuk membuat program di lingkungan windows. Setelah kemana-mana akhirnya file afxres.h adalah seperti ini :

#ifndef _AFXRES_H
#define _AFXRES_H
#if __GNUC__ >= 3
#pragma GCC system_header
#endif

#ifdef __cplusplus
extern "C" {
#endif

#ifndef _WINDOWS_H
#include <windows.h>
#endif

/* IDC_STATIC is documented in winuser.h, but not defined. */
#ifndef IDC_STATIC
#define IDC_STATIC (-1)
#endif

#ifdef __cplusplus
}
#endif
#endif

Simpan sebagai file afxres.h dan masukkan ke direktori include pada MSVC seperti di atas. Harusnya tak masalah.

Dua langkah inisiasi di atas adalah menyiapkan environment Windows dan MSVC untuk bisa kompatibel dengan program-program ber-OpenGL yang nantinya akan dibuat di MSVC. (Catatan: pengalaman pada Windows Vista Enterprise, MSVC++ 2008 Express).

Advertisements

About this entry