[mecab-devel 103] Re: Windows(64bit)上でmsvcを用いたpythonモジュールのビルド

アーカイブの一覧に戻る

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の添付ファイルを保管しました...
ダウンロード 



Mecab-devel メーリングリストの案内
アーカイブの一覧に戻る