[powrót]
Dev-C++ to chyba najłatwiejsza metoda kompilacji pod Windowsem, no i ciągle open-source'owa. Ściągnij stąd. Jeśli nie wiesz którą wersję ściągnąć to znaczy że chcesz pierwszą wersję, Dev-C++ 5.0 beta 9.2 (4.9.9.2) (9.0 MB) with Mingw/GCC 3.4.2.
Używając oryginalnego gluta:
-lglut32 -lglu32 -lopengl32 -lwinmm -lgdi32
GL/glut.h
na GL/freeglut.h
, lub
utworzyc w podkatalogu include/
instalacji DevC++ (lub MinGW
jesli MinGW instalowaliscie osobno) trywialny plik glut.h
#ifndef __GLUT_H__ #define __GLUT_H__ #include "freeglut_std.h" #endif /* __GLUT_H__ */
-lfreeglut -lglu32 -lopengl32 -lwinmm -lgdi32I do opcji kompilatora
-DFREEGLUT_STATIC
Zwracam uwagę że glut i freeglut mogą "koegzystować" razem, nie wadząc sobie,
więc można zainstalować oba i używać dowolnego (o ile nie wykonamy sztuczki
z trywialnym plikiem glut.h
dla freegluta). Na początek naprawdę nie ma znaczenia
czy wybierzecie oryginalnego gluta czy freegluta —
oba działają równie dobrze.
Skąd wymyślam odpowiednie opcje kompilatora i linkera ? Patrzę na pliki w
<dev-cpp-path>/Templates/*.template
. Tam są przykładowe programy używające odpowiednich
pakietów DevCpp i zapisane są odpowiednie opcje kompilacji.
Są wprawdzie devpaki dla SDLa na http://devpaks.org/ ale nie działały mi. Nie wchodziłem w szczegóły dlaczego, zamiast tego zrobiłem wszystko ręcznie:
-lmingw32 -lSDLmain -lSDL -lglu32 -lopengl32 -lwinmm
#include <GL/glu.h> #include <GL/gl.h>i dodać
#include <SDL/SDL_opengl.h>na początku (albo ściągnąć pliki źródłowe od nowa z tej strony).
-lSDL_image -lmingw32 -lSDLmain -lSDL -lglu32 -lopengl32 -lwinmm
(Na pracowni nie bawiliśmy się biblioteką GLFW, ale jesli ktoś lubi to jak najbardziej można z niej korzystać zamiast GLUTa lub SDLa).
Próbowałem prostej metody:
-lglfw -lopengl32 -lglu32
Więc uznałem że należy skompilować wszystko samemu. Kompilacja spod Cygwina (żadnego MinGW) przez `make win32-cygwin' działa znakomicie, tworzy binarkę i odpowiednie przykłady.
Kompilacja przez MinGW:
<glfw-path>/lib/win32/
oraz skompiluje przykłady w <glfw-path>/examples/
.
<glfw-path>/lib/win32/libglfw.a
do
<dev-cpp-path>/lib/
.
-lglfw -lopengl32 -lglu32
Jakoś nie udało mi się zmusić dynamicznego glfw.dll
do działania (a próbowałem,
libglfwdll.a i glfw.dll mam skompilowane OK, ale jakoś żadne opcje
kompilacji z -dGLFW_DLL i -lglfwdll nie działają).
(Na pracowni nie bawiliśmy się biblioteką GFL, ale jesli ktoś lubi to jak najbardziej można z niej korzystać zamiast SDL_image).
Patrz tutaj.