Categories: wxWidgets

Собираем IDE Code::Blocks под FreeBSD

Сегодня вашему вниманию предлагается статья Cosm’а о том, как собрать и настроить среду разработки Code::Blocks под FreeBSD.

В этой статье я попытаюсь вам объяснить как ставить Code::Blocks в FreeBSD. Code::Blocks это кросплатформенная IDE построена с помощью wxWidgets. В моем случае установка проводилась на FreeBSD-7.0-Release-i386.

Сначала вам нужно убедится что в вашей системе присутствуют пакеты: autoconf, automake>=1.9, libtool. Все эти пакеты присутствуют на дисках с дистрибутивом системы, и если вы их не установили во время установки FreeBSD, то самое время это сделать.

ВНИМАНИЕ!!! версия automake должна быть действительно выше 1.9, так как расширеные плагины Code::Blocks не компилируются на старых автомейках. Проверить версию можно введя в консоле: automake –version. Если во время установки у вас вылетает ошибка : @MKDIR_P@: unknown command, то проблема именно в ней.
Также требуется пакет zip. Этот пакет не поставляется с дистрибутивом, но он есть на официальном ftp сервере. Установить его можно введя

pkg_add -r zip

или же

cd /usr/ports/archivers/zip/ && make install clean

Это все что требуется от системы для компиляции. Далее нам потребуются исходные коды wxWidgets и Code::Blocks. wxWidgets нам надо версия GTK+, она же wxGTK, качается здесь http://wxwidgets.org/downloads/. На момент написания статьи последней версией была 2.8.7. Исходники Code::Blocks мы также берем с оффициального сайта. На даный момент выпущен релиз за февраль 2008 года, он же 8.02. Качается здесь http://www.codeblocks.org/downloads. Распаковуем оба архива куда больше всего хочется. Я распаковал в /usr/ports/devel, так как там их проще всего найти, когда вам надо будет удалять все что мы с вами сейчас будем ставить 🙂

Сначала мы будем компилировать wxWidgets. Так как цель у нас сегодня стоит поставить Code::Blocks, а в мануале по компиляции IDE пишут, что для компиляции нужна monolitic chared библиотека wxWidgets, то библиотеку строить мы будем такую как нас просят. wxGTK по у молчанию компилируется shared и использует GTK2, единственное что нам нужно, это добавить в конфигурацию монолитность и, так как мы с вами бывает пишем программы не только на английском, то будем компилировать юникод версию. Компиляция и установка библиотеки не вызывает никаких проблем. wxGTK сама себя копирует куда надо и сама создает системную переменную пути к библиотеке. Все что нам нужно сделать это зайти в корневой каталог с кодом wxWidgets (в моем случае в /usr/ports/devel/wxGTK-2.8.7) и выполнить конфигурацию и установку. Все это делается в пять строчек.

$ cd /usr/ports/devel/wxGTK-2.8.7   # тут ваш каталог
$ ./configure --enable-monolithic --enable-unicode # хотим монолитную юникод библиотеку
$ make                                  # компилируем
$ make install                              # инсталируем
$ make clean                              # чистим object файлы компиляции

После того как опять появляется приглашение ввода строки wxWidgets уже скомпилирован и присутствует в нужном месте. Теперь можно взятся за Code::Blocks. Разработчики среды решили разделить её установку на 2(две) части. Получилось так, что можно ставить КодБлоки с базовым набором плагинов (Core Plugins) и с расширеным набором плагинов (Contrib Plugins). По умолчанию среда компилируется с базовым набором плагинов. Этот набор включает в себя Autosave, Class Wizard, Code Completition и еще много полезных вещей, однако много полезных плагинов ставится в так называемом “расширеном” наборе. Весь список можно посмотреть здесь.
Базовая компиляция проходит без проблем. Я не буду на ней останавливатся. Понравилось то, что Code::Blocks сама добавляет себя в гномовскую менюшку в подменю “Programming”. Что бы скомпилировать IDE с базовой конфигурацией, заходим в каталог с исходным кодом выполняем ./configure, а затем make install clean. Можно идти пить чай, когда вернетесь у вас уже будет стоять Code::Blocks.
На компиляции с расширеными плагинами хотелось бы остановится поподробней. Именно здесь возникает проблема с @MKDIR_P@. Дело в том, что в старых версиях automake использовалась другая нотация создания каталога при установке приложений. В новых же плагинах Code::Blocks разработчики видимо не думали, что кто-то будет пытатся компилировать со старым автомейком. Поэтому при установке важно пользоватся automake версии новее 1.9.
На http://wiki.codeblocks.org есть список плагинов, которые являются дополнительными (contribute). Для их установки нужно при конфигурации указать список нужных плагинов: --with-contrib-plugins=AutoVersioning,BrowseTracker,byogames…., либо указать, что требуются все плагины: --with-contrib-plugins=all. Особый интерес у меня был к плагинам C::B Games и wxSmith, но я решил не мелочится и указал все. Все действия должны выглядеть приблизительно так:

$ cd /usr/ports/devel/CodeBlocks-8.02 # ваш каталог с исходниками
$ ./configure --with-contrib-plugins=all # все расширеные плагины
$ make     # компилируем
$ make install    # инсталируем
$ make clean    # чистим

Форма написания названий плагинов при выборочной установке видимо скрывается разработчиками от вражеских разведчиков, но мне все таки удалось достать эту информацию. А пишутся они вот так AutoVersioning, BrowseTracker, byogames, cbkoders, codesnippets, codestat, dragscroll, envvars, help, keybinder, libfinder, profiler, regex, exporter, symtab, wxsmith.
Вот и все. Если все было сделано правильно, то мы получаем удобную среду разработки под одну из самый стабильных операционных систем современности. Как доказательство представлен скриншот с рабочей средой, рабочей wxWidgets и рабочим wxSmith. Статья не претендует на универсальность или уникальность. Пользуясь случаем хочу выразить благодарность разработчикам Code::Blocks и wxWidgets за то что они это разрабатывают.

P.S. Если вам не надо уникальная компиляция wxWidgets, на оффициальном ftp сервере FreeBSD есть прекомпилированые пакеты с библиотекой. На момент написания статьи самая свежая версия на сервере 2.8.5, а установить можно вот так:

To install the port: cd /usr/ports/x11-toolkits/wxgtk28 && make install clean
To add the package: pkg_add -r wxgtk2

The конец. 🙂

T-Rex

Share
Published by
T-Rex

Recent Posts

Разработка кроссплатформенных модульных приложений на C++ с библиотекой wxWidgets

Введение Уже долгое время не пишу статьи о разработке, хотя сам процесс написания мне очень…

10 years ago

wxWidgets App With Plugins (Windows/Linux/Mac) – Sample Source Code

I can see that there is still a lot of topics at wxWidgets forums related…

11 years ago

wxToolBox is Now Open-Source!

I've just published the source code of wxToolBox component and a couple of sample apps at…

11 years ago

Microsoft Kinect Helper Library and Sample for wxWidgets

Microsoft released their Kinect SDK several days ago. So, for those wxWidgets developers who are…

13 years ago

wxJSON 1.1.0 Released

JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to…

14 years ago

wxRuby. Оно даже работает!

Вдохновленнный читаемой нынче книгой My Job Went to India: 52 Ways to Save Your Job…

15 years ago