Как мне собрать Box2D для работы в Code :: Blocks / Mingw32 (Windows) - PullRequest
5 голосов
/ 30 марта 2011

эй, название в значительной степени говорит само за себя.я пробовал разные методы из интернет-источников, но всякий раз, когда я пытаюсь что-то пойти не так ... вот где я получил Box2D

в cMake , я получаю кучуошибок при его создании (я проходил через шаги в readme.txt, но, к счастью, они для Visual C ++ ...)

, так что я задаюсь вопросом, как это настроить, поскольку я предполагаю библиотеку (.lib или .a) и использую его в моем проекте (мой друг передал мне его библиотеку, и когда я загрузил ее и попробовал #include с заголовками box2D, они вообще не читали (я получил список неопределенных ошибок) и егоЯ полагаю, box2d создан для Linux / Unix, поэтому я думаю, что в этом причина ...)

, если кто-нибудь может помочь, предоставьте некоторые шаги, которые были бы хорошими.

спасибо за чтение.

1 Ответ

10 голосов
/ 06 апреля 2011

Предположения: Вы установили cmake. Вы установили Code :: Blocks / MinGW в C: \ codeblocks. Вы загрузили Box2D и распаковали его в C: \ Box2D_v2.1.2.

Если что-то из этого не так, измените пути так, чтобы они соответствовали вашим.

Пуск-> Выполнить-> CMD.

Перейдите в папку Box2D «Build»:
cd C:\Box2D_v2.1.2\Box2D\Build

Создание make-файлов:
cmake -G "MinGW Makefiles" ..

Сделай это:
mingw32-make

Это выдаст несколько предупреждений, но должно работать почти полностью. Затем, ближе к концу, произойдет ошибка при попытке скомпилировать Testbed. AFAIK, нет никакого способа скомпилировать Testbed, используя MinGW (я думаю, вы должны использовать Visual Studio). К счастью, .exe-файл доступен на сайте Box2D.

В папке Box2D \ Build \ Box2D теперь должен быть файл с именем libBox2D.a. Скопируйте этот файл в C: \ codeblocks \ mingw \ lib.

Скопируйте папку Box2D \ Box2D (та, которая содержит Box2D.h) в C: \ codeblocks \ mingw \ include. [Таким образом, после этого шага у вас должен быть файл C: \ codeblocks \ mingw \ include \ Box2D \ Box2d.h, а НЕ C: \ codeblocks \ mingw \ include \ Box2d.h]

И это все. Вы должны быть в состоянии скомпилировать и запустить пример «Hello Box2D». Не забудьте указать ссылку на библиотеку.

[EDIT]

Судя по вашей ошибке, я предполагаю, что ваша переменная окружения MinGW Path настроена неправильно. Что необычно, поскольку, когда вы устанавливаете Code :: Blocks / MinGW, он, как я полагаю, обычно устанавливает его для вас.

В любом случае (эти шаги могут незначительно отличаться в зависимости от вашей версии Windows):

Щелкните правой кнопкой мыши «[Мой] компьютер» -> Свойства -> Дополнительные параметры системы
Нажмите «Переменные среды»
В зависимости от того, какая у вас Windows, вы можете увидеть переменные пользователя и системные переменные, или это может быть только одна группа (я не могу вспомнить название). В любом случае создайте новую переменную системной среды с именем MINGDIR со значением C:\codeblocks\mingw или там, где вы ее установили. Затем найдите переменную с именем Path (или PATH) и добавьте ее в конец: C:\codeblocks\mingw\bin. Поставьте точку с запятой в конце предыдущей записи и не используйте пробел.
Также убедитесь, что C:\CMake\bin присутствует либо в системной переменной с именем Path, либо в пользовательской переменной с именем Path. Если нет, добавьте его до конца.
Я думаю, что это так.

...