Привет всему сообществу. Сегодня напишу как настроить привязку qt и ruby в Linux и Windows.
Ruby — интерпретируемый язык высокого уровня для быстрого и удобного объектно-ориентированного программирования. Язык обладает независимой от операционной системы реализацией многопоточности, строгой динамической типизацией, «сборщиком мусора» и многими другими возможностями. Ruby близок по особенностям синтаксиса к языкам Перл и Эйфель, по объектно-ориентированному подходу к Smalltalk. Также некоторые черты языка взяты из Python, Лисп, Dylan и CLU. Подробнее тут
Trolltech Qt (произносится «кьют») — кросс-платформенный инструментарий разработки ПО на языке программирования C++.Подробнее тут
Система линукс у меня будет Ubuntu, поскольку на ней работаю. Думаю под остальные будет тоже не трудно. Начнем с нее. Заходим в раздел Система->Администрирование->Менеджер пакетов Synaptic. Нам по минимуму надо поставить пакеты:
— ruby-full — полная инсталяция руби
— rubygems — gems для ruby
— libgemplugin-ruby — плагин для руби
— libqt4-ruby — библиотека ruby для работы с qt
Остальные зависимости система сама подтянет (например libqt4-core, libqt4-gui и прочее)
Также нам потребуется редактор для работы с Ruby. Я использую SciTE. Это дело вкуса :)
После того как пакеты установлены мы можем протестировать работоспособность. Заходим в туториал, и возьмем например 3 пример.
Расписывать что данный код делает я не буду — там ниже в том же мануале все объясняется подробно. Должна появится форма с кнопкой выхода. Код в SciTE сохраняем под расширением rb и нажимаем F5 (переметры по-умолчанию должны отлично сработать).
Наш результат
![1](https://habrastorage.org/r/w1560/getpro/habr/olpictures/76d/2f8/2ce/76d2f82ce7ace3b1558e957b8ed4b4bc.png)
А вот и долгожданное окошко
![2](https://habrastorage.org/r/w1560/getpro/habr/olpictures/071/767/a1d/071767a1d71446882915b3b83875f151.png)
Если оно появилось — значит все установленно удачно и вы можете начать программировать. Добавлю что в основном с установкой и настройкой под Линукс не должно возникнуть особых проблем, поскольку ставил на десятки машин и пока не наблюдал проблем с этим.
Теперь начнем с Windows(с ним получилось больше возьни).
Нам потребуется:
— Ruby 1.8.5 Установщик в один клик — название за себя говорит :)
— qtruby4-1.4.9-mswin32.gem — библиотека qt4 для ruby
— nmake — утилита автоматической сборки для Windows (без нее qtruby не установится)
Начнем с того, что установим Ruby (при установке должно также будет установится rubygems).
Там же в установке будет лежать SciTe :)
![555](https://habrastorage.org/r/w1560/getpro/habr/olpictures/803/e10/68f/803e1068f7266449bb2314d7c68198af.png)
Дальше нам надо будет запустить nmake. Он создаст два файла — NMAKE.ERR и NMAKE.EXE. Что б rubygems долго его не искал скопируйте их в %RUBY_DIR%\bin, где %RUBY_DIR% — директория куда вы установили Ruby.
Дальше переходим в командную строку (Пуск->Выполнить->cmd). Проверяем что gem зарегистрирован в системе и работает — пишем gem --help. Если написало помощь — все хорошо.
![5556](https://habrastorage.org/r/w1560/getpro/habr/olpictures/6d2/990/254/6d299025429f07f4a6622bf533b4eb94.png)
Теперь установим qtruby. Переходим в каталог (в консоли), куда мы скачали qtruby4-1.4.9-mswin32.gem и пишем команду gem install qtruby4-1.4.9-mswin32.gem. Установка должна завершится удачно так
![](https://habrastorage.org/r/w1560/getpro/habr/olpictures/fa7/47d/63a/fa747d63a0c2456d3d0580d5b7dcf065.png)
Если написало «ошибка буфера» — значит вы скачали qtruby, который не подходит для вашей системы.
Сначала я думал что это все, но не тут то было. Потребовалось ещё одна библиотека — mingwm10.dll.
![6](https://habrastorage.org/r/w1560/getpro/habr/olpictures/499/7ec/f0c/4997ecf0ccd3b081dfe006625bcb774e.png)
Скачал я её тут и сбросил в %RUBY_DIR%\bin.
Ну а теперь можем запустить наше приложение и любоваться окошком с кнопкой.
![9](https://habrastorage.org/r/w1560/getpro/habr/olpictures/02f/bc4/da4/02fbc4da4ba57df623357d08c28206e2.png)
Удачного Вам программирования!
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](https://habrastorage.org/getpro/habr/olpictures/76d/2f8/2ce/76d2f82ce7ace3b1558e957b8ed4b4bc.png)
А вот и долгожданное окошко
![2](https://habrastorage.org/getpro/habr/olpictures/071/767/a1d/071767a1d71446882915b3b83875f151.png)
Если оно появилось — значит все установленно удачно и вы можете начать программировать. Добавлю что в основном с установкой и настройкой под Линукс не должно возникнуть особых проблем, поскольку ставил на десятки машин и пока не наблюдал проблем с этим.
Windows
Теперь начнем с Windows(с ним получилось больше возьни).
Нам потребуется:
— Ruby 1.8.5 Установщик в один клик — название за себя говорит :)
— qtruby4-1.4.9-mswin32.gem — библиотека qt4 для ruby
— nmake — утилита автоматической сборки для Windows (без нее qtruby не установится)
Начнем с того, что установим Ruby (при установке должно также будет установится rubygems).
Там же в установке будет лежать SciTe :)
![555](https://habrastorage.org/getpro/habr/olpictures/803/e10/68f/803e1068f7266449bb2314d7c68198af.png)
Дальше нам надо будет запустить nmake. Он создаст два файла — NMAKE.ERR и NMAKE.EXE. Что б rubygems долго его не искал скопируйте их в %RUBY_DIR%\bin, где %RUBY_DIR% — директория куда вы установили Ruby.
Дальше переходим в командную строку (Пуск->Выполнить->cmd). Проверяем что gem зарегистрирован в системе и работает — пишем gem --help. Если написало помощь — все хорошо.
![5556](https://habrastorage.org/getpro/habr/olpictures/6d2/990/254/6d299025429f07f4a6622bf533b4eb94.png)
Теперь установим qtruby. Переходим в каталог (в консоли), куда мы скачали qtruby4-1.4.9-mswin32.gem и пишем команду gem install qtruby4-1.4.9-mswin32.gem. Установка должна завершится удачно так
![](https://habrastorage.org/getpro/habr/olpictures/fa7/47d/63a/fa747d63a0c2456d3d0580d5b7dcf065.png)
Если написало «ошибка буфера» — значит вы скачали qtruby, который не подходит для вашей системы.
Сначала я думал что это все, но не тут то было. Потребовалось ещё одна библиотека — mingwm10.dll.
![6](https://habrastorage.org/getpro/habr/olpictures/499/7ec/f0c/4997ecf0ccd3b081dfe006625bcb774e.png)
Скачал я её тут и сбросил в %RUBY_DIR%\bin.
Ну а теперь можем запустить наше приложение и любоваться окошком с кнопкой.
![9](https://habrastorage.org/getpro/habr/olpictures/02f/bc4/da4/02fbc4da4ba57df623357d08c28206e2.png)
Удачного Вам программирования!