« MeCab の設定ファイル | メイン | Senna の SQLite 組込み方法案 »

2006年02月20日

Web関連の開発日誌:: Sennaのインストールレス化

    

Senna の設定ファイル ( senna.conf ) などは、コンパイル時のデバッグオプション SENNA_HOME を参照するような作りになっていた。
そして、標準では SENNA_HOME は c:\senna\ になっている。
また、MeCab 異なり、レジストリ参照などは行わず、パスはコンパイル時に決定されたものに固定されるようになっている。
Linux などで install 時に make するような形ならいいけど、 Windows だとこれは使いづらい。

そこで、 MeCab の設定ファイル と同じような方法で DLL が置かれたパスにある senna.conf などを参照するようにした。
これで MeCab と Senna の DLL を好きな場所に置けて、場所を気にせず使える。

後、 Senna をVC.NET 2003 でビルドすると nfkc.c が最適化ありだとコンパイルできない。
関数でかすぎって怒られる。
最適化を切ってやればコンパイルできるが、最適化なしのコードが混じるのは遅くなりそうで使いたくない。
nfkc.c は、 Ruby で自動生成しているようなので、 Ruby スクリプトを変更して作り直そうとしたが、 Ruby スクリプト内でコンパイルしていたり、 ICU 入れたりと大変でやめた。
で、 結局 MinGW で nfkc.c のみをコンパイルして、出来た obj をVCでリンクした。



投稿者 Takenori : 2006年02月20日 16:37




comments powered by Disqus
Total : Today : Yesterday : なかのひと