VC++からRubyを使う
VC++からRubyを使いたくて、あーだこーだやりつつやっとできたのでメモ。環境 : VisualStudio 2010 Profeccional
ruby-2.0.0-p576 ※dllやlibはコンパイル済み 忘れた場合はこちら
通常のコンソールアプリ同様、ruby_init()してruby_finalize()で終わるような処理を
書いてみる。
CWinAppのInitInstance()メソッドの中で、
1. ruby_init();
2. メインダイアログの生成、表示
3. ruby_finalize();
というシンプルな処理なのだが、いざ実行すると、
なんだか意味不明なエラーにorz
落ちている箇所はここ
vm->prognameがnullっぽい。
そんなの知らね~よと思っていたのですが、色々調べてやっと解決。
どうやらruby_init()の前にruby_sysinitをしてやらないとダメらしい。
int sysinit_argc = 0;
char** sysinit_argv = NULL;
ruby_sysinit( &sysinit_argc, &sysinit_argv );
ruby_init();
ダミーのパラメータで初期化してやって、やっと動きましたorz
0 件のコメント:
コメントを投稿