Резюме
Я пишу приложение Ruby 1.9.2, используя Qt4 для своего графического интерфейса, который я хочу распространять в Linux, OS X и Windows. У меня приложение работает отлично на все, кроме моего 64-битного окна Windows 7.
Существуют рабочие примеры Win7 + Qt4 + 1.8.7, но, видимо, не Win7 + Qt4 + 1.9.2. Есть два камня для привязок Ruby-Qt, qtbindings
и qtruby4
(иногда называемый qt4-qtruby
), но я еще не видел ни одного из них, работающих на Win7 с Ruby 1.9.2.
Проблема с qtruby4
Эта статья с октября 2008 года и ее обновленная версия с июня 2011 года послужили хорошей отправной точкой, но Я отличался от последнего, установив Ruby 1.9.2 через страницу загрузки RubyInstaller для Windows. 1.8.7, казалось, работал нормально, но я получаю некоторые необычные ошибки, когда я пытаюсь использовать его с 1.9.2. Требование 'rubygems'
, а затем требующее 'Qt'
приводит к:
no such file to load -- 'qtruby4'
Первая статья выше ссылается на более подробную статью из dr1ku, которая может предоставить некоторые подсказки.
- Возможно, стоит воспроизвести шаги dr1ku с последними версиями этих библиотек.
- dr1ku и статья 2008 paschenda.org используют специальный установщик Windows Qt4-QtRuby, но сопровождающий отмечает, что он не успел обновить его. Я не совсем понимаю, что делает специальный установщик, но я полагаю, что статья paschenda.org 2011 больше не использует его, потому что DevKit якобы помогает RubyGems самостоятельно строить Qt4 без посторонней помощи.
Найден в дикой природе
Вот некоторые люди, которые, похоже, столкнулись с одной и той же проблемой:
- нет библиотеки qtruby в окнах
- Ruby 1.9.x + Qt4Ruby.... сон трубы.
- qtruby4 LoadError в ruby 1.9.1/win32 для qtruby4-2.1.0
Проблема с qtbindings
В моем приложении на самом деле используется камень qtbindings
, поэтому я попытался установить его вместо gem install qtbindings --platform=mswin32
. [1] Однако, когда я попытался require 'Qt'
с установленным камнем qtbindings
, я получил всплывающее окно Windows со следующим сообщением:
Не удалось найти точку входа процедуры
_Z10qvsnprintfPcjPKcS_
в библиотеке динамических ссылок QtCore4.dll. Просто сдайся, низшее плотное существо.
(У меня есть копия и вставка сообщения без каких-либо украшений вообще.)
Найден в дикой природе
Вот некоторые люди, которые, похоже, столкнулись с одной и той же проблемой:
Потенциальные истории успеха
Кто-то, похоже, добился успеха, установив qtbindings
gem на 1.9.2 с аргументом gem install qtbindings
(no --platform
), если вы посмотрите ответы на этот поток:
Я попытался установить с помощью gem install qtbindings
на 1.8.7, но у меня not еще не было версии 1.9.2. Когда я попробовал его с 1.8.7, я столкнулся с тем же вопросом, что и "точка входа в систему, не была найдена".
Сноски
[1] - На самом деле я не совсем понимаю разницу между драгоценным камнем qtbindings
и драгоценным камнем qtruby4
. Например, включает ли последнее расширение C, а первое - нет? Я не уверен. Кроме того, я видел ссылки на qt4-qtruby
, который, я думаю, является только версией mswin32 qtruby4
, по крайней мере, насколько я могу судить на странице загрузки Korundum.