Pull to refresh

Qt + Ruby = настройка в Linux и Windows

Reading time 3 min
Views 11K
Привет всему сообществу. Сегодня напишу как настроить привязку qt и ruby в Linux и Windows.
Ruby — интерпретируемый язык высокого уровня для быстрого и удобного объектно-ориентированного программирования. Язык обладает независимой от операционной системы реализацией многопоточности, строгой динамической типизацией, «сборщиком мусора» и многими другими возможностями. Ruby близок по особенностям синтаксиса к языкам Перл и Эйфель, по объектно-ориентированному подходу к Smalltalk. Также некоторые черты языка взяты из Python, Лисп, Dylan и CLU. Подробнее тут

Trolltech Qt (произносится «кьют») — кросс-платформенный инструментарий разработки ПО на языке программирования C++.Подробнее тут


Linux


Система линукс у меня будет Ubuntu, поскольку на ней работаю. Думаю под остальные будет тоже не трудно. Начнем с нее. Заходим в раздел Система->Администрирование->Менеджер пакетов Synaptic. Нам по минимуму надо поставить пакеты:
ruby-full — полная инсталяция руби
rubygems — gems для ruby
libgemplugin-ruby — плагин для руби
libqt4-ruby — библиотека ruby для работы с qt
Остальные зависимости система сама подтянет (например libqt4-core, libqt4-gui и прочее)
Также нам потребуется редактор для работы с Ruby. Я использую SciTE. Это дело вкуса :)
После того как пакеты установлены мы можем протестировать работоспособность. Заходим в туториал, и возьмем например 3 пример.

require 'Qt4'

app = Qt::Application.new(ARGV)

window = Qt::Widget.new()
window.resize(200, 120)

quit = Qt::PushButton.new('Quit', window)
quit.font = Qt::Font.new('Times', 18, Qt::Font::Bold)
quit.setGeometry(10, 40, 180, 40)
Qt::Object.connect(quit, SIGNAL('clicked()'), app, SLOT('quit()'))

window.show()
app.exec()

Расписывать что данный код делает я не буду — там ниже в том же мануале все объясняется подробно. Должна появится форма с кнопкой выхода. Код в SciTE сохраняем под расширением rb и нажимаем F5 (переметры по-умолчанию должны отлично сработать).
Наш результат
1
А вот и долгожданное окошко
2
Если оно появилось — значит все установленно удачно и вы можете начать программировать. Добавлю что в основном с установкой и настройкой под Линукс не должно возникнуть особых проблем, поскольку ставил на десятки машин и пока не наблюдал проблем с этим.

Windows


Теперь начнем с Windows(с ним получилось больше возьни).
Нам потребуется:
Ruby 1.8.5 Установщик в один клик — название за себя говорит :)
qtruby4-1.4.9-mswin32.gem — библиотека qt4 для ruby
nmake — утилита автоматической сборки для Windows (без нее qtruby не установится)
Начнем с того, что установим Ruby (при установке должно также будет установится rubygems).
Там же в установке будет лежать SciTe :)
555
Дальше нам надо будет запустить nmake. Он создаст два файла — NMAKE.ERR и NMAKE.EXE. Что б rubygems долго его не искал скопируйте их в %RUBY_DIR%\bin, где %RUBY_DIR% — директория куда вы установили Ruby.
Дальше переходим в командную строку (Пуск->Выполнить->cmd). Проверяем что gem зарегистрирован в системе и работает — пишем gem --help. Если написало помощь — все хорошо.
5556

Теперь установим qtruby. Переходим в каталог (в консоли), куда мы скачали qtruby4-1.4.9-mswin32.gem и пишем команду gem install qtruby4-1.4.9-mswin32.gem. Установка должна завершится удачно так


Если написало «ошибка буфера» — значит вы скачали qtruby, который не подходит для вашей системы.
Сначала я думал что это все, но не тут то было. Потребовалось ещё одна библиотека — mingwm10.dll.
6

Скачал я её тут и сбросил в %RUBY_DIR%\bin.
Ну а теперь можем запустить наше приложение и любоваться окошком с кнопкой.
9

Удачного Вам программирования!
Tags:
Hubs:
+1
Comments 14
Comments Comments 14

Articles