Запуск прикладів із 5-го видання OpenGL Superbible у Code

У 5-му виданні OpenGL Superbible описано налаштування проектів Visual Studio для роботи з прикладами. Ми покажемо, як запустити приклади із зазначеного видання в середовищі розробки Code::Blocks з використанням компілятора MinGW.

Нам знадобиться встановити бібліотеки freeglut та GLTools. До складу останньої входить GLEW, математичні бібліотеки та всілякі корисні утиліти.

Припускаємо, що freeglut вже встановлено, тоді як бібліотеку GLTools нам доведеться спочатку скомпілювати.

  1. Качаємо архів із прикладами з 5-го видання OpenGL Superbible.
  2. Копіюємо вміст папки SB5/Src/GLtools/include архіву в папку c:\Program Files (x86)\CodeBlocks\MinGW\include , де зберігаються заголовні файли бібліотек, що використовуються MinGW.
  3. Створюємо проект з ім'ямGLTools як Static Library, додаємо до нього всі вихідні файли з папки архіву SB5/Src/GLtools/src та компілюємо проект (природно, як Release). Отриманий у результаті файл бібліотеки libGLTools.a копіюємо до папки c:\Program Files (x86)\CodeBlocks\MinGW\lib, де знаходяться статичні бібліотеки MinGW.

Тепер, коли GLTools скомпільована, створимо порожній проект для файлів якогось прикладу. Додамо в проект вихідні файли та пропишемо в налаштуваннях компонувальника (меню Project/Build Options, вкладка Linker Settings, у полі Other Linker Options):

У преамбулі вихідного файлу, що містить main() після підключення необхідних бібліотек

Навіщо потрібен цей рядок, описано тут:

GLTools не може бути будь-якимпро GLAPI, але includes and before . glew.h defines GLAPI на кілька разів, але тому, що ви не знайдете в code it's kind of confusing to tell if thecode is being entered or not. What is clear, though, is that for our purposes GLAPI має бути define as extern. Якщо ви збираєтеся кинути стрілку в нашому тесті.

Все, тепер приклади працюватимуть.

Читайте також

Коментарі

Дмитро Храмов Комп'ютерне моделювання та все, що з ним пов'язано: збір даних, їх аналіз, розробка математичних моделей, софт для моделювання, візуалізації та оформлення публікацій. Ну і за життя небагато.