Takeshi Kobayakawa
takes****@gmail*****
2013年 7月 7日 (日) 16:01:07 JST
自己レスですみません。解決しました。 注意を要した点は、 1. pythonとmecabのアーキテクチャ(32/64bit)を同じものにする 2. mecabをmsvcでコンパイルするのに、ソース等の修正が必要なことがある (参考) http://neu101.seesaa.net/article/272153413.html 3. python 2.7のsetup.pyをVisual C++ 2008以外で用いる場合は、環境変数を設 定する set VS90COMNTOOLS=%VS110COMNTOOLS% など (参考) http://stackoverflow.com/questions/2817869/error-unable-to-find-vcvarsall-bat 64bit上でクロスビルドした32bit pythonのmecabモジュールでは、 なぜか例外がなげられて終了してしまうのですが... 64bitのmecabとpython(モジュール)ではうまく動作しました。 動作報告として、環境を記しておきます。 OS: Windows 7 Ultimate (64bit) SP1 C++: Visual Studio 2012 Express Edition (x86_amd64 target) Python: 2.7.5 X86-64 mecab + mecab-pyton : 0.996 小早川 (2013/07/06 10:14), Takeshi Kobayakawa wrote: > 小早川と申します。 > > Windows(64bit)上で、msvcを用いてpythonのmecabモジュールをビルドしようと > していますが、 > __imp__PyString_AsString > などのシンボルがリンクエラーをしてしまします。 > > pythonに同梱されているpython27.libに含まれるシンボルは > __imp_PyString_AsString > のように、__impに続くアンダースコアが一つしかないようなのですが、 > これをリンクするにはどうしたらよいでしょうか。 > > setup.pyスクリプトとmecab.hを修正して、コンパイルが通るところまでは来た > のですが... > どうかよろしくお願いいたします。 > > mecab関連: > mecab-0.996.exe > mecab-python-0.996.tar.gz > > python: python-2.7.5 (64bit) > > OS: > Windows 7 64bit > > コンパイラ: > Visual C++ Express 2008 > > emp.win-amd64-2.7\Release\_MeCab.exp を作成中 > MeCab_wrap.obj : error LNK2019: 未解決の外部シンボル > __imp__PyString_AsString が > 関数 "char * __cdecl SWIG_Python_str_AsChar(struct _object *)" > (?SWIG_Python_str > _AsChar@@YAPADPAU_object@@@Z) で参照されました。 > MeCab_wrap.obj : error LNK2019: 未解決の外部シンボル > __imp__PyString_FromString > が関数 "struct _object * __cdecl SWIG_Python_str_FromChar(char const *)" > (?SWIG_ > Python_str_FromChar@@YAPAU_object@@PBD @ Z) で参照されました。 > -------------- next part -------------- HTMLの添付ファイルを保管しました... ダウンロード