ようやくできたのでまとめてみる。最初のLLVMとMacRubyの相性でつまずいて何日もかかってしまった。両方trunkから持ってきたらダメ、オプションもMacRubyの指定どおりにしないとダメ。LLVMのビルドはとにかく時間がかかるから、最初から素直にMacRuby-0.6のREADMEに従えばよかった。で、手順は...
ステップ1 : LLVMの取得、ビルド
svn co -r 89156 https://llvm.org/svn/llvm-project/llvm/trunk llvm-trunk
cd llvm-trunk
env UNIVERSAL=1 UNIVERSAL_ARCH="i386 x86_64" CC=/usr/bin/gcc CXX=/usr/bin/g++ ./configure --enable-bindings=none --enable-optimized --with-llvmgccdir=/tmp
env UNIVERSAL=1 UNIVERSAL_ARCH="i386 x86_64" CC=/usr/bin/gcc CXX=/usr/bin/g++ make
sudo env UNIVERSAL=1 UNIVERSAL_ARCH="i386 x86_64" CC=/usr/bin/gcc CXX=/usr/bin/g++ make install
ステップ2 : MacRuby-0.6の取得、ビルド
svn co http://svn.macosforge.org/repository/ruby/MacRuby/tags/0.6 MacRuby-0.6
rake
sudo rake install
ステップ3 : HotCococaのインストール
sudo macgem install hotcocoa
シェルを再起動なりしないとhotcocoaへのパスが通らない
ステップ4 : ノープログラミングでHello, world
hotcocoa hello
cd hello
macrake
実行結果
ステップ5 : Hello, world (hello.rb)
require 'rubygems'
require 'hotcocoa'
class Application
include HotCocoa
def start
application(:name => "Postie") do |app|
app.delegate = self
window(:frame => [100, 100, 500, 500], :title => "Postie") do |win|
win << label(:text => "Hello from HotCocoa", :layout => {:start => false})
win.will_close { exit }
end
end
end
end
Application.new.start
実行する
macruby hello.rb
実行結果はステップ4と同じ。
これでRubyからCocoaにアクセスできるなんてすごい。HotCocoaの名前も伊達じゃない。
0 件のコメント:
コメントを投稿