1

JrubyにGTk2gemをインストールしようとしているときに、誰かがこの問題を解決するのを手伝ってもらえますか?

Check http://kenai.com/projects/jruby/pages/Home for alternatives.

checking for -Wall option to compiler... no

checking for -Waggregate-return option to compiler... no

checking for -Wcast-align option to compiler... no


checking for -Wextra option to compiler... no

checking for -Wformat=2 option to compiler... no

checking for -Winit-self option to compiler... no

checking for -Wlarger-than-65500 option to compiler... no

checking for -Wmissing-declarations option to compiler... no

checking for -Wmissing-format-attribute option to compiler... no

checking for -Wmissing-include-dirs option to compiler... no

checking for -Wmissing-noreturn option to compiler... no

checking for -Wmissing-prototypes option to compiler... no

checking for -Wnested-externs option to compiler... no

checking for -Wold-style-definition option to compiler... no

checking for -Wpacked option to compiler... no

checking for -Wp,-D_FORTIFY_SOURCE=2 option to compiler... no

checking for -Wpointer-arith option to compiler... no

checking for -Wswitch-default option to compiler... no

checking for -Wswitch-enum option to compiler... no

checking for -Wundef option to compiler... no

checking for -Wunsafe-loop-optimizations option to compiler... no

checking for -Wwrite-strings option to compiler... no

checking for rb_define_alloc_func() in ruby.h... IOError: Cannot run program "cc" (in directory "C:\jruby-1.6.8\lib\ruby\gems\1.8\gems\glib2-1.1.5\ext\glib2"):
CreateProcess error=2, The system cannot find the file specified

            popen at org/jruby/RubyIO.java:3613

           xpopen at C:/jruby-1.6.8/lib/ruby/site_ruby/shared/mkmf.rb:323

             open at C:/jruby-1.6.8/lib/ruby/site_ruby/shared/mkmf.rb:260

           xpopen at C:/jruby-1.6.8/lib/ruby/site_ruby/shared/mkmf.rb:316

        egrep_cpp at C:/jruby-1.6.8/lib/ruby/site_ruby/shared/mkmf.rb:538

        have_func at C:/jruby-1.6.8/lib/ruby/site_ruby/shared/mkmf.rb:758

     checking_for at C:/jruby-1.6.8/lib/ruby/site_ruby/shared/mkmf.rb:652

         postpone at C:/jruby-1.6.8/lib/ruby/site_ruby/shared/mkmf.rb:286

             open at C:/jruby-1.6.8/lib/ruby/site_ruby/shared/mkmf.rb:260

         postpone at C:/jruby-1.6.8/lib/ruby/site_ruby/shared/mkmf.rb:286

             open at C:/jruby-1.6.8/lib/ruby/site_ruby/shared/mkmf.rb:260

         postpone at C:/jruby-1.6.8/lib/ruby/site_ruby/shared/mkmf.rb:282

     checking_for at C:/jruby-1.6.8/lib/ruby/site_ruby/shared/mkmf.rb:651

        have_func at C:/jruby-1.6.8/lib/ruby/site_ruby/shared/mkmf.rb:755

  check_ruby_func at C:/jruby-1.6.8/lib/ruby/gems/1.8/gems/glib2-1.1.5/lib/mkmf-gnome2.rb:369

           (root) at C:/jruby-1.6.8/lib/ruby/gems/1.8/gems/glib2-1.1.5/lib/mkmf-
gnome2.rb:558

          require at org/jruby/RubyKernel.java:1062

           (root) at extconf.rb:15
*** extconf.rb failed ***

Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers.  Check the mkmf.log file for more details.  You may need configuration options.


Provided configuration options:

        --with-opt-dir

        --without-opt-dir

        --with-opt-include

        --without-opt-include=${opt-dir}/include

        --with-opt-lib

        --without-opt-lib=${opt-dir}/lib

        --with-make-prog

        --without-make-prog

        --srcdir=.

        --curdir

        --ruby=C:/jruby-1.6.8/bin/jruby    

Gem files will remain installed in C:/jruby-1.6.8/lib/ruby/gems/1.8/gems/glib2-1.1.5 for inspection.

Results logged to C:/jruby-1.6.8/lib/ruby/gems/1.8/gems/glib2-1.1.5/ext/glib2/gem_make.out

この問題で台無しになりました...実際にルビーでRealマルチスレッドを実行したい...ルビーでGTkを使用するアプリケーションをすでにコーディングしています...今度はそのアプリケーションをJRubyに移植したいと思います... 。

私を助けてください...誰かが前にこれをショートさせました>>?前もって感謝します

4

2 に答える 2

1

ここでのエラーは、Cコンパイラがインストールされていないか、インストールしても見つからないことです。

IOError:プログラム「cc」を実行できません

したがって、GTKはネイティブ拡張を構築しようとしているようですが、Jrubyではあまりサポートされていません。このブログ投稿では、Jrubyhttps://wordpress.kaspernj.org/?p=85のgtk+を使用するために彼が作成したコードについて説明しています。

Jrubyに移植しているので、Java GTKを直接使用することも、SWTを直接使用することもできます。SWT https://github.com/danlucraft/swtのgemがあります。これには、完全性がどれほど完全かわからない簡単な例がいくつか含まれています。

補足として、RedcarEditorはJruby +SWTで書かれています

于 2012-09-21T07:14:00.853 に答える
1

Gtk3 の FFI バインディングを試すことができます。通常の Ruby と JRuby の両方から使用しています。gem の名前は「gir_ffi」および「gir_ffi-gtk」です。

ただし、現在 MRI Ruby ではスレッドの問題がいくつかあることに注意してください。ここで行ったように、自分でハックする必要があります。

https://github.com/kaspernj/gtk3assist/blob/master/lib/gtk3assist_threadding.rb

また、このライブラリは基本的に C ライブラリから直接抽出されるため、通常の Ruby GTK ライブラリよりもはるかに複雑になります。もう少しシンプルにしようと試みましたが、Ruby GTK2 ライブラリーと同じくらい簡単かつシンプルにするには、まだ長い道のりがあります。

https://github.com/kaspernj/gtk3assist/tree/master/lib

これは、私たちが待ち望んでいたマルチ Ruby およびマルチ OS GUI ライブラリになる可能性があります :-) Linux と Mac の両方で動作するようになりました (Windows ではまだ試していません)。

于 2013-02-27T10:37:50.660 に答える