C++上でRubyを動かすことが出来ない。

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

C++上でRubyを動かすことが出来ない。

#1

投稿記事 by akindo » 9年前

諸事情あって、C++上でRubyを動かしたいと考え、
下のページを参考にしてRubyのインストールを試みようとしました。
http://funktor.org/programming/cpp/embe ... by.ja.html

しかし、nmakeをする際にどうしても下のエラーが出てきて全く出来ません。
原因は一体何なのでしょうか?
環境はWindows7及びVS Express 2013 for desktop、
Rubyのバージョンは2.15、2.00でも同じようなエラーが起きました。
いくらネットで調べても原因が分からず、ほんとうに悩んでおります。
どうか宜しくお願いします。

Microsoft(R) Program Maintenance Utility Version 12.00.21005.1
Copyright (C) Microsoft Corporation. All rights reserved.

CC = cl -nologo
LD = cl -nologo
LDSHARED = cl -nologo -LD
CFLAGS = -MD -Zi -W2 -wd4996 -we4028 -we4142 -O2sy- -Zm600
XCFLAGS = -DRUBY_EXPORT -I. -I.ext/include/i386-mswin32_120 -I./../incl
de -I./.. -I./../missing
CPPFLAGS =
DLDFLAGS = -incremental:no -debug -opt:ref -opt:icf -dll
SOLIBS =
Creating config.h
.ext\include\i386-mswin32_120\ruby\config.h unchanged
Creating config.status
oldnames.lib user32.lib advapi32.lib shell32.lib ws2_32.lib iphlpapi.lib imageh
p.lib shlwapi.lib
linking miniruby.exe
file.obj : error LNK2005: _Init_w32_codepage は既に file.obj で定義されています

file.obj : error LNK2005: _rb_file_expand_path_internal は既に file.obj で定義さ
れています。
file.obj : error LNK2005: _rb_file_load_ok は既に file.obj で定義されています。
iseq.obj : error LNK2001: 外部シンボル "_rb_get_path" は未解決です。
dir.obj : error LNK2019: 未解決の外部シンボル _rb_get_path が関数 _check_dirnam
で参照されました。
load.obj : error LNK2001: 外部シンボル "_rb_get_path" は未解決です。
io.obj : error LNK2001: 外部シンボル "_rb_get_path" は未解決です。
process.obj : error LNK2001: 外部シンボル "_rb_get_path" は未解決です。
dir.obj : error LNK2019: 未解決の外部シンボル _rb_get_path_no_checksafe が関数
file_s_fnmatch で参照されました。
dir.obj : error LNK2019: 未解決の外部シンボル _rb_file_directory_p が関数 _Init
Dir で参照されました。
dir.obj : error LNK2019: 未解決の外部シンボル _rb_str_encode_ospath が関数 _che
k_dirname で参照されました。
load.obj : error LNK2001: 外部シンボル "_rb_str_encode_ospath" は未解決です。
io.obj : error LNK2001: 外部シンボル "_rb_str_encode_ospath" は未解決です。
ruby.obj : error LNK2001: 外部シンボル "_rb_str_encode_ospath" は未解決です。
dir.obj : error LNK2019: 未解決の外部シンボル _rb_enc_path_skip_prefix が関数 _
heck_dirname で参照されました。
dir.obj : error LNK2019: 未解決の外部シンボル _rb_enc_path_end が関数 _check_di
name で参照されました。
dir.obj : error LNK2019: 未解決の外部シンボル _rb_home_dir_of が関数 _dir_s_hom
で参照されました。
dir.obj : error LNK2019: 未解決の外部シンボル _rb_default_home_dir が関数 _dir_
_home で参照されました。
dir.obj : error LNK2019: 未解決の外部シンボル _rb_file_const が関数 _Init_Dir で
参照されました。
dir.obj : error LNK2001: 外部シンボル "_rb_cFile" は未解決です。
io.obj : error LNK2001: 外部シンボル "_rb_cFile" は未解決です。
dln_find.obj : error LNK2019: 未解決の外部シンボル _eaccess が関数 _dln_find_1
で参照されました。
win32.obj : error LNK2001: 外部シンボル "_eaccess" は未解決です。
eval.obj : error LNK2019: 未解決の外部シンボル _rb_file_dirname が関数 _f_curre
t_dirname で参照されました。
load.obj : error LNK2001: 外部シンボル "_rb_file_dirname" は未解決です。
load.obj : error LNK2019: 未解決の外部シンボル _rb_file_absolute_path が関数 _r
_f_require_relative で参照されました。
load.obj : error LNK2019: 未解決の外部シンボル _rb_find_file_ext_safe が関数 _s
arch_required で参照されました。
load.obj : error LNK2019: 未解決の外部シンボル _rb_find_file_safe が関数 _searc
_required で参照されました。
load.obj : error LNK2019: 未解決の外部シンボル _rb_find_file が関数 _rb_f_load
で参照されました。
load.obj : error LNK2019: 未解決の外部シンボル _rb_is_absolute_path が関数 _rb_
onstruct_expanded_load_path で参照されました。
load.obj : error LNK2019: 未解決の外部シンボル _rb_realpath_internal が関数 _rb
load_internal0 で参照されました。
ruby.obj : error LNK2001: 外部シンボル "_rb_realpath_internal" は未解決です。
iseq.obj : error LNK2001: 外部シンボル "_rb_realpath_internal" は未解決です。
load.obj : error LNK2019: 未解決の外部シンボル _rb_file_expand_path_fast が関数
_rb_construct_expanded_load_path で参照されました。
load.obj : error LNK2019: 未解決の外部シンボル _rb_get_path_check_to_string が関
数 _rb_construct_expanded_load_path で参照されました。
load.obj : error LNK2019: 未解決の外部シンボル _rb_get_path_check_convert が関数
_rb_construct_expanded_load_path で参照されました。
hash.obj : error LNK2019: 未解決の外部シンボル _rb_path_check が関数 _path_tain
ed_p で参照されました。
io.obj : error LNK2019: 未解決の外部シンボル _Init_File が関数 _Init_IO で参照さ
れました。
ruby.obj : error LNK2019: 未解決の外部シンボル _rb_file_expand_path が関数 _exp
nd_include_path で参照されました。
miniruby.exe : fatal error LNK1120: 24 件の未解決の外部参照
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 12.0\VC\B
N\cl.EXE"' : リターン コード '0x2'
Stop.

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

Re: C++上でRubyを動かすことが出来ない。

#2

投稿記事 by akindo » 9年前

すみません、自己解決しました。

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

Re: C++上でRubyを動かすことが出来ない。

#3

投稿記事 by h2so5 » 9年前

できれば解決方法を書いてください。

閉鎖

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