0

だから、私は単純な「Hello World」である小さなRubyプログラムを持っています - コードは以下の通りです

require 'ray'

Ray.game 'Hello world!', :size => [800, 600] do
  register { add_hook :quit, method(:exit!) }
scene :hello do
  @text = text 'Hello, Ruby!', :angle => 30, :at => [100, 100], :size => 30
  render { |win| win.draw @text }
end
scenes << :hello
end

私のWin7-32​​ビットマシンでは問題なく動作しました。しかし、まったく同じプログラムを Win7-64 ビット マシンに実行すると、Ruby インタープリターが次のメッセージを吐き出しました。

C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': 127:
The specified procedure could not be found.   - C:/Ruby193/lib/ruby/gems/1.9.1
/gems/ray-0.2.0/lib/ray_ext.so (LoadError)

エラー メッセージから、「ray_ext.so」が欠落しているように見えましたが、実際にはそこにありました。

ここに画像の説明を入力

両方の PC にはまったく同じバージョンの Ruby (1.9.3) がインストールされており、まったく同じ gem のリストがインストールされていますが、まったく同じプログラムが 32 ビットの Win7 では正常に動作し、64 ビットの Win7 では失敗したのはなぜでしょうか?

gem (ray) の再インストールと、gem リストの更新を試みましたが、問題は解決しませんでした。私が Web から発見したことによると、これは "dll" リンケージの問題であると思われました (間違っていたら訂正してください) が、修正方法がわかりませんでした (すみません、私はまだ初心者です)。 Ruby)、gem の再インストールを除いて - 動作しませんでした。

他に試せることはありますか?これは純粋に gem の問題 (Win7-64 ビットと互換性がない) だと思いますか?

ご協力ありがとうございました。

4

2 に答える 2

1

つまり、最新の Rubyを使用します。

Windows 7 64 ビットに Jekyll をインストールすると、同じエラーが発生しました (はい、Ruby のバージョンは 1.9.3 です)。Ruby を 2.0.0 (2.0.0-x64 ではない) に変更するまで、エラーは消えませんでした。 .

私は Ruby をまったく理解していませんが、これで問題が解決することを願っています。ありがとうございました。

于 2013-08-13T02:55:54.287 に答える
0

問題がありました。oci.dll を指す正しい oracle bin パスを設定しようとしましたが、うまくいきませんでした。oci.dll を ruby​​\bin ディレクトリにコピーすると、後で別のエラーが発生しました。orauts.dll をコピーする必要がありましたが、アプリケーションは機能しました。

他の人に役立つことを願っています。

于 2016-12-15T00:51:23.973 に答える