0

当我在控制台上运行 ruber 时,我得到了以下信息:

`require': cannot load such file -- korundum4 (LoadError)

我已经安装了 korundum4 和任何其他 ruby​​ 绑定。我用rvm。

我用:Kubuntu 12.04

在 IRB 上是同样的错误,当我require "korundum4". 我$LOAD_PATH的系统:

["/usr/local/lib/site_ruby/1.9.1", "/usr/local/lib/site_ruby/1.9.1/x86_64-linux", "/usr/local/lib/site_ruby", "/usr/lib/ruby/vendor_ruby/1.9.1", "/usr/lib/ruby/vendor_ruby/1.9.1/x86_64-linux", "/usr/lib/ruby/vendor_ruby", "/usr/lib/ruby/1.9.1", "/usr/lib/ruby/1.9.1/x86_64-linux"]
4

2 回答 2

0

我找到了更好的解决方案:

gem install qtbindings

适用于 Qt4 和 rvm。

我的新解决方案:

依赖项.sh

#!/bin/bash

if [[ $USER -eq 'root' ]]; then
  exit 1
fi

sudo apt-get install libqt4-core libqt4-dev automoc ruby2.0-dev

wget http://rubyforge.org/frs/download.php/71843/qt4-qtruby-2.1.0.tar.gz
tar -xvzf qt4-qtruby-2.1.0.tar.gz
cd qt4-qtruby-2.1.0

rvm install 2.0.0
rvm use 2.0.0
rvm gemset gui
rvm use 2.0.0@gui

sed 's/Config::/RbConfig::/' cmake/modules/FindRuby.cmake > cmake/modules/FindRuby.cmake1
sed 's/ruby19/ruby19 ruby2 ruby20 ruby200 ruby2.0/' cmake/modules/FindRuby.cmake1 > cmake/modules/FindRuby.cmake2
mv cmake/modules/FindRuby.cmake2 cmake/modules/FindRuby.cmake

sed 's/Config::/RbConfig::/' cmake/modules/FindRUBY.cmake > cmake/modules/FindRUBY.cmake1
sed 's/ruby19/ruby19 ruby2 ruby20 ruby200 ruby2.0/' cmake/modules/FindRUBY.cmake1 > cmake/modules/FindRUBY.cmake2
mv cmake/modules/FindRUBY.cmake2 cmake/modules/FindRUBY.cmake

mkdir build
cd build

cmake ..
make
sudo make install

sudo ldconfig /usr/local/lib
sudo chown -R $USER:$USER $MY_RUBY_HOME

cd ../..

之后你可以这样做:

应用程序.rb

require 'rubygems'
require 'eventmachine'
require 'Qt4'

app = Qt::Application.new(ARGV)
hello_button = Qt::PushButton.new("Hello EventMachine")
hello_button.resize(100,20)
hello_button.show

EventMachine.run do
  EM.add_periodic_timer(0.01) do
    app.process_events
  end
end

宝石文件

source 'http://rubygems.org'

gem 'eventmachine'

这样您就可以将 ruby​​ 2.0.0 与 Smoke 和 Qt4 一起使用。

于 2013-03-05T14:39:49.070 回答
0

如您所见,Ruby 加载了安装在 RVM 中的 gem。如果您想使用系统范围的库运行您的应用程序,您需要使用以下命令将 RVM 切换到系统 Ruby:

$ rvm use system

或阅读此https://rvm.io/integration/qtruby/如何集成 QtRuby int RVM(我没有对此进行测试)。

于 2012-09-21T08:42:36.243 回答