最近 ruby していない 中村 のりつぐ です。


1. 助田さんのページを見ていたら、使っていない
Visual C++ 4.0 を使いたくなったので、
コンパイルしてみました。
http://member.nifty.ne.jp/markey/

% cd ruby-1.3.4-990611
% SET PATH=D:\WINDOWS;D:\WINDOWS\COMMAND;D:\bin;C:\bin;D:\PROGRA~1\MSDEVSTD\BIN\
% vcvars32
% cd win32
% ntsetup.bat
% nmake
で、いろいろやったらコンパイルできました。

2. 最近 95Reader という Windows 音声化ソフトを
手にいれた(買った)ので
http://www.ssct.co.jp/95reader/
おしゃべりする 拡張ライブラリを作ってみました。

3. コンパイルに成功するのに、
Reader.message("こんにちは", 0)
というプログラムを実行すると、そんな const は
ないと ruby がおっしゃる

4. ログを良く見ると、外部シンボル SoundMessage
は未解決です。と言われていました。

5. とりあえず
% cd ext\reader
% lib /OUT:reader.lib reader.obj d:/95READER/Prog95/Soundp.lib
% cd ..\..
% nmake
としたら、おしゃべりするプログラムが
実行できるようになりました。

6. で、かんじんの質問
リンクしたいライブラリはどうやって
指定したら良いのでしょうか?

ちなみに extconf.rb は、

require 'mkmf'

$CFLAGS="-Id:/95READER/Prog95"
$LFLAGS="-Ld:/95READER/Prog95"
have_library("Soundp", "SoundMessage")
create_makefile('reader')

となっています。

       中村 典嗣  E-mail:     nnakamur / mxq.mesh.ne.jp