1. Если не помогает руководство...
Я хотел скомпилировать статические библиотеки, входящие в Bullet SDK, и создать файлы проектов Code::Blocks для демок, чтобы познакомиться с этой библиотекой. Руководство по установке советует для этого воспользоваться CMake, и показывает как с помощью CMake сгенерировать файлы проектов для Visual Studio. Применив этот метод для Code::Blocks (с генератором: -G 'CodeBlocks - Unix Makefiles'
), я, однако, никаких файлов проектов не получил, хотя makefile'ы были успешно созданы. Видимо, с CMake еще предстоит разбираться.
Поэтому задача решалась так.
Имеются:
- Xubuntu 13.10
- Code::Blocks 12.10
- 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. Установить библиотеки и заголовочные файлы.
- Скопировать файлы библиотек
libBulletDynamics.a
,libBulletCollision.a
,libSoftBody.a
,libLinearMath.a
в~/bullet
- Скопировать содержимое каталога с заголовочными файлами
../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