C++上でRubyの入出力関数を使うとエラーが出る

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
akindo
記事: 14
登録日時: 10年前

C++上でRubyの入出力関数を使うとエラーが出る

#1

投稿記事 by akindo » 10年前

C++上でRubyを使う事は出来たのですが、何故かprintfやputsといったRubyの入出力関数を使うと
「ハンドルされない例外が 0x77AF224D (ntdll.dll) で発生しました(Project4.exe 内):
 0xC0000005: 場所 0x00000014 への書き込み中にアクセス違反が発生しました。」
と出てエラーが出て止まってしまいます。一体何故でしょうか?
インターネットで調べても何故起きるのか全く分かりませんでした。
ソースコードは以下の通りです。

コード:

 
#pragma comment(lib, "msvcr120-ruby210")
#pragma comment(lib, "msvcr120-ruby210-static")

#include <ruby.h>
void main()
{
	// Rubyインタプリタの初期化
	ruby_init();

	// スクリプトの実行
	rb_eval_string("print 'Hello World!'");

	// Rubyインタプリタのクリーンアップ
	ruby_cleanup(0);
}


下記のサイトを参考にしました。宜しくお願いします。
http://funktor.org/programming/cpp/embe ... by.ja.html

アバター
h2so5
副管理人
記事: 2212
登録日時: 14年前
住所: 東京
連絡を取る:

Re: C++上でRubyの入出力関数を使うとエラーが出る

#2

投稿記事 by h2so5 » 10年前

ライブラリを2種類読み込んでいるのは正しいのでしょうか。ふつう片方だけだと思うのですが。

akindo
記事: 14
登録日時: 10年前

Re: C++上でRubyの入出力関数を使うとエラーが出る

#3

投稿記事 by akindo » 10年前

片方だけにしても、同じエラーが出ました。

akindo
記事: 14
登録日時: 10年前

Re: C++上でRubyの入出力関数を使うとエラーが出る

#4

投稿記事 by akindo » 10年前

ほかの掲示板に変わりますから、このスレッドを閉めます

ISLe()

Re: C++上でRubyの入出力関数を使うとエラーが出る

#5

投稿記事 by ISLe() » 10年前

ライブラリと生成オプションが違うとか。

閉鎖

“C言語何でも質問掲示板” へ戻る