Skip to content


Statyczna biblioteka Bullet

Jeżeli ktoś miałby ochotę pobawić się Bullet’em z kompilatorem innym niż VC++ (np. mój ukochany Code::Blocks) to podaję jak skompilować statyczną wersję tej biblioteki. Tak przy okazji to Visual Express ma coś nie tak z nagłówkami (funkcja exit) i się elegancko wykrzacza podczas kompilacji (przynajmniej u mnie).

Kompilator gcc korzysta z trochę innych plików pośrednich niż m$vc, plus ustawienia projektów mogą być różne, najlepiej więc zacząć od zera.

Zrobimy sobie 3 projekty pod C::B:

  • Bullet Library
  • OpenGL Bullet Library
  • Test Demo

Bullet Library:

Tworzymy nowy projekt (nazwijmy go BulletLib) wybierając opcję Static Library w C::B. Wywalamy z niego main.c, następnie kopiujemy całe /src z Bulleta do naszego katalogu i dodajemy do projektu (recursive!). Konfigurujemy ścieżki przeszukiwania w projekcie tak, aby przeglądały /src. Kompilujemy – jeżeli nie działa to usuwamy podkatalog /BulletMultiThreaded z naszego projektu – trudno, nie będzie wykorzystywać wielowątkowości ;) Otrzymujemy bibliotekę którą będziemy poźniej linkować do naszych projektów.

OpenGL Bullet Library:

Analogicznie do poprzedniego (nazwijmy go BulletOpenGL), z tym że powinniśmy dodać jeszcze jeden krok – kopiujemy foldery Demos/OpenGL oraz Extras/freeglut do katalogu naszego projektu, w ścieżkach wyszukiwania dodajemy katalogi /OpenGL, /freeglut, /freeglut/GL/ oraz /src z poprzedniego projektu. Kompilujemy i otrzymujemy następną bibliotekę do linkowania.

Test Demo:

Tworzymy sobie projekt Console Executable, w konfiguracji linkera dodając obie powyższe biblioteki, jako kod możemy wziąść sobie przykład z Hello World – działa, chociaż nie wizualizuje ;)

Powyższe rozwiązanie jest "ku pamięci", ściągnięte z forum bulleta (thx projectileman)

Posted in Gry, TechBlog.


0 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.



Some HTML is OK

or, reply to this post via trackback.