1. Если не помогает руководство...

Я хотел скомпилировать статические библиотеки, входящие в Bullet SDK, и создать файлы проектов Code::Blocks для демок, чтобы познакомиться с этой библиотекой. Руководство по установке советует для этого воспользоваться CMake, и показывает как с помощью CMake сгенерировать файлы проектов для Visual Studio. Применив этот метод для Code::Blocks (с генератором: -G 'CodeBlocks - Unix Makefiles'), я, однако, никаких файлов проектов не получил, хотя makefile'ы были успешно созданы. Видимо, с CMake еще предстоит разбираться.

Поэтому задача решалась так.

Имеются:

  1. Xubuntu 13.10
  2. Code::Blocks 12.10
  3. Bullet 2.82

1. Скачать исходные файлы и распаковать их в ../path/to/bullet2 (у меня: ~/bullet-2.82-r2704/)

2. Скомпилировать библиотеки. Воспользуемся рекомендациями Generic Make Recipe и соберем статические библиотеки (там же приведен и "Generic Dynamic Library Recipe"). Готовые файлы (библиотеки и демки) будут складываться в bullet-build/:

mkdir bullet-build
cd bullet-build
cmake ../path/to/bullet -G "Unix Makefiles"
make -j4
sudo make install

Демонстрашки готовы (~/bullet-build/Demos) и их можно запускать, но хочется наладить работу в Code::Blocks. Если демки посмотрены и больше не нужны, а библиотеки (см. п.3) скопированы в нужное место, этот каталог можно удалить.

3. Установить библиотеки и заголовочные файлы.

  1. Скопировать файлы библиотек libBulletDynamics.a, libBulletCollision.a, libSoftBody.a, libLinearMath.a в ~/bullet
  2. Скопировать содержимое каталога с заголовочными файлами ../path/to/bullet/src в ~/bullet

Теперь — собственно Code::Blocks (для работы в командной строке выполняем){rel="nofollow"}. Как обычно, нужно создать проект и добавить в него нужные файлы (проще всего тренироваться на HelloWorld.cpp), а кроме того...

4. Добавить в Build Options проекта

  • собранные библиотеки: Linker Settings > Link Libraries > Add > ~/bullet/библиотека.a

Порядок подключения библиотек:

BulletMultiThreaded (optional)
MiniCL (optional)
BulletWorldImporter (optional)
BulletSoftBody (optional)
BulletDynamics
BulletCollision
LinearMath 
  • библиотеки визуализации (OpenGL, GLU, glut): Linker Settings > Other linker options:: -lGL -lGLU -lglut
  • каталог с заголовочными файлами: Search Directories > Compiler > Add: ~/bullet

2. Установка Bullet с помощью Premake

Ничего сложного там в рассмотренном выше способе не было, но все оказалось еще проще: нужно только следовать Bullet User Manual, поставляемому вместе с библиотекой.

Итак, читаем указанный manual, раздел 3 "Quickstart", пункт "Building using premake". Там всего пара абзацев.

Прочитав, выполняем:

cd bullet-2.82-r2704/build/ # переходим в подкаталог build каталога с исходниками bullet
./premake4_linux codeblocks

В результате будут сгенерированы файлы проектов Code::Blocks (*.cbp) для библиотек и демок.

Теперь, открывая проекты

  • BulletCollision.cbp
  • BulletDynamic.cbp
  • BulletSoftBody.cbp
  • LinearMath.cbp

собираем нужные библиотеки.

Наконец, открываем проект с интересующей демкой, например, App_HelloWorld.cbp и собираем его.

Всё.



Комментарии

comments powered by Disqus