MECABRC

co-sakaです。おはようございます!


windows環境でMeCab辞書を指定する方法を調査しています。
前の日記で書いたように、MeCabは、
環境変数
→「レジストリ」  (MeCabインストーラー)
→「同じディレクトリ」 (LudiaによるMeCabのDLL)
と見に行きます。


そこで、Ludiaでsetenvを呼んで、環境変数MECABRCを設定してしまえ!
となるわけですが、どうやらWindowsではsetenvが使えない様子。
_putenvを使えとのこと。
しかし、Ludiaで_putenvでMECABRCを指定しても、うまくいかない。
MeCab内部のgetenv("MECABRC")の返り値がnullになっている様子。
なぜ??????


試しにLudia側で_putenvの代わりにwinAPIのSetEnvironmentVariableを利用して、
MeCab内部のgetenvをGetEnvironmentVariableに変更すると上手く行った!


でも、MeCabのソースはいじりたくない・・・。
(_putenv,getenv)と(SetEnvironmentVariable,GetEnvironmentVariable)は、
違う仕様なのかな???
困った困った。