Замучила эта подготовка к ЕГЭ. Трудно найти время во всей это канители на полезные не только для меня дела. Введение было написано 10 января 2014 года и вот, спустя три месяца, я, наконец, продолжу начатое.
Box2D - это кроссплатформенная библиотека, хотя, честно говоря, в ней нет ничего платформозависимого. В основном реализация классов и вычислений, а это стандартные возможности C/C++. Для достижения заявленной цели нам нужно скачать последние исходники отсюда или посетить официальный сайт. Разницы никакой нет, так как источник один и тот же.
Итак, извлекаем архив и переходим в каталог с исходниками движка.
Далее необходимо установить библиотеку. Проще говоря, скинуть хедеры в "/usr/local/include/Box2D/", а библиотеки в "/usr/local/lib/". Делается это элементарно, главное не забыть выполнить все от суперпользователя(root):
1. Адекватный. Нужно добавить в переменную LD_LIBRARY_PATH путь к /usr/local/lib
2. Мой способ. Я копирую файл "libBox2D.a" в папку с проектом:
Box2D - это кроссплатформенная библиотека, хотя, честно говоря, в ней нет ничего платформозависимого. В основном реализация классов и вычислений, а это стандартные возможности C/C++. Для достижения заявленной цели нам нужно скачать последние исходники отсюда или посетить официальный сайт. Разницы никакой нет, так как источник один и тот же.
Итак, извлекаем архив и переходим в каталог с исходниками движка.
cd каталог/куда/вы/извлекли/архив/Box2D/Build/От обычного пользователя необходимо произвести компиляцию исходного кода:
cmake -DBOX2D_INSTALL=ON -DBOX2D_BUILD_SHARED=ON ..Все-таки я рекомендую прочесть файл Building.txt в корне каталога Box2D, потому что от версии к версии метод компиляции может меняться.
make или make -j4
Далее необходимо установить библиотеку. Проще говоря, скинуть хедеры в "/usr/local/include/Box2D/", а библиотеки в "/usr/local/lib/". Делается это элементарно, главное не забыть выполнить все от суперпользователя(root):
make installВот и все готово. Остался один вопрос: как компилировать. Есть два способа:
1. Адекватный. Нужно добавить в переменную LD_LIBRARY_PATH путь к /usr/local/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/libДалее просто компилировать:
g++ main.cpp -lBox2D
2. Мой способ. Я копирую файл "libBox2D.a" в папку с проектом:
cp /usr/local/lib/libBox2D.a libBox2D.aи следующим способом собираю бинарник:
g++ main.cpp libBox2D.aРазличия лишь в том, что в первом случае выходной бинарник меньше размером, но требует наличия в системе библиотеки libBox2D.so, а в моем случае код библиотеки встраивается в выходной файл, увеличивая его размер, но делая независимым и всегда рабочим.
Комментариев нет:
Отправить комментарий