0

コンソールでruberを実行すると、次の情報が得られます。

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

korundum4とその他のrubyバインディングをインストールしました。私はrvmを使用しています。

私が使う:Kubuntu 12.04

IRBでは、Iの場合と同じエラーが発生します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 ../..

その後、次のことができます。

app.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

Gemfile

source 'http://rubygems.org'

gem 'eventmachine'

このようにして、smoke と Qt4 で ruby​​ 2.0.0 を使用できます。

于 2013-03-05T14:39:49.070 に答える
0

ご覧のとおり、Ruby は RVM 内にインストールされている gem をロードします。システム全体のライブラリでアプリを実行したい場合は、次を使用して RVM をシステム Ruby に切り替える必要があります。

$ rvm use system

または、このhttps://rvm.io/integration/qtruby/ how to integrate QtRuby int RVM を読んでください(私はこれをテストしていません)。

于 2012-09-21T08:42:36.243 に答える