###前提・実現したいこと
マルコフ連鎖を用いて文章の生成を行いたい。
まずその前段階であるMeCabをPythonに入れたいと思い、試行錯誤中。
エラーがどうしても消えません。助けてください。
環境
windows10
Python 3.5.2
visual studio community 2015
mecab-0.996\src内のソースを書き換え、そのソース本体のビルドはできました。(と思う)
その後のmecab-python-0.996の setup.py のビルドができません。
###発生している問題・エラーメッセージ
C:\mecab-python-0.996>python setup.py build running build running build_py running build_ext building '_MeCab' extension C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -IC:\MeCab\sdk -IC:\Users\user\AppData\Local\Programs\Python\Python35-32\include -IC:\Users\user\AppData\Local\Programs\Python\Python35-32\include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\\winrt" "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\\winrt" /EHsc /TpMeCab_wrap.cxx /Fobuild\temp.win32-3.5\Release\MeCab_wrap.obj MeCab_wrap.cxx C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\link.exe /nologo /INCREMENTAL:NO /LTCG /DLL /MANIFEST:EMBED,ID=2 /MANIFESTUAC:NO /LIBPATH:C:\MeCab\sdk /LIBPATH:C:\Users\user\AppData\Local\Programs\Python\Python35-32\libs /LIBPATH:C:\Users\user\AppData\Local\Programs\Python\Python35-32\PCbuild\win32 "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\LIB" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\LIB" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.10240.0\ucrt\x86" "/LIBPATH:C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\lib\um\x86" "/LIBPATH:C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\LIB\amd64" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\LIB\amd64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.10240.0\ucrt\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\lib\um\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x64" libmecab.lib /EXPORT:PyInit__MeCab build\temp.win32-3.5\Release\MeCab_wrap.obj /OUT:build\lib.win32-3.5\_MeCab.cp35-win32.pyd /IMPLIB:build\temp.win32-3.5\Release\_MeCab.cp35-win32.lib ライブラリ build\temp.win32-3.5\Release\_MeCab.cp35-win32.lib とオブジェクト build\temp.win32-3.5\Release\_MeCab.cp35-win32.exp を作成中 MeCab_wrap.obj : error LNK2001: 外部シンボル ""__declspec(dllimport) class MeCab::Tagger * __cdecl MeCab::createTagger(char const *)" (__imp_?createTagger@MeCab@@YAPAVTagger@1@PBD@Z)" は未解決です。 MeCab_wrap.obj : error LNK2001: 外部シンボル ""__declspec(dllimport) class MeCab::Lattice * __cdecl MeCab::createLattice(void)" (__imp_?createLattice@MeCab@@YAPAVLattice@1@XZ)" は未解決です。 MeCab_wrap.obj : error LNK2001: 外部シンボル ""__declspec(dllimport) class MeCab::Model * __cdecl MeCab::createModel(char const *)" (__imp_?createModel@MeCab@@YAPAVModel@1@PBD@Z)" は未解決です。 MeCab_wrap.obj : error LNK2001: 外部シンボル ""__declspec(dllimport) char const * __cdecl MeCab::getLastError(void)" (__imp_?getLastError@MeCab@@YAPBDXZ)" は未解決です。 MeCab_wrap.obj : error LNK2001: 外部シンボル ""public: static char const * __cdecl MeCab::Tagger::version(void)" (?version@Tagger@MeCab@@SAPBDXZ)" は未解決です。 MeCab_wrap.obj : error LNK2001: 外部シンボル ""public: static class MeCab::Tagger * __cdecl MeCab::Tagger::create(int,char * *)" (?create@Tagger@MeCab@@SAPAV12@HPAPAD@Z)" は未解決です。 MeCab_wrap.obj : error LNK2001: 外部シンボル ""public: static class MeCab::Tagger * __cdecl MeCab::Tagger::create(char const *)" (?create@Tagger@MeCab@@SAPAV12@PBD@Z)" は未解決です。 MeCab_wrap.obj : error LNK2001: 外部シンボル ""public: static bool __cdecl MeCab::Tagger::parse(class MeCab::Model const &,class MeCab::Lattice *)" (?parse@Tagger@MeCab@@SA_NABVModel@2@PAVLattice@2@@Z)" は未解決です。 MeCab_wrap.obj : error LNK2001: 外部シンボル ""public: static class MeCab::Model * __cdecl MeCab::Model::create(int,char * *)" (?create@Model@MeCab@@SAPAV12@HPAPAD@Z)" は未解決です。 MeCab_wrap.obj : error LNK2001: 外部シンボル ""public: static class MeCab::Model * __cdecl MeCab::Model::create(char const *)" (?create@Model@MeCab@@SAPAV12@PBD@Z)" は未解決です。 MeCab_wrap.obj : error LNK2001: 外部シンボル ""public: static char const * __cdecl MeCab::Model::version(void)" (?version@Model@MeCab@@SAPBDXZ)" は未解決です。 build\lib.win32-3.5\_MeCab.cp35-win32.pyd : fatal error LNK1120: 11 件の未解決の外部参照 error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\link.exe' failed with exit status 1120
###該当のソースコード
Python
1#!/usr/bin/env python 2from distutils.core import setup, Extension 3setup(name = "mecab-python", 4 version = '0.996', 5 py_modules=["MeCab"], 6 ext_modules = [ 7 Extension("_MeCab", 8 ["MeCab_wrap.cxx",], 9 include_dirs=[r'C:\MeCab\sdk'], 10 library_dirs=[r'C:\MeCab\sdk'], 11 libraries=['libmecab']) 12 ])
###試したこと
http://simudaru.hatenablog.com/entry/2014/05/11/010622
http://sutchy.cocolog-nifty.com/sutchy/2015/05/windows-python3.html
http://naokiwatanabe.blogspot.jp/2014/09/mecab.html
を参考に setup.py や MeCab_wrap.cxx を書き換えた。
エラーは減りましたが全部は消えませんでした。また、 MeCab_wrap.cxx の一部をコメントアウトしただけでしたので
一部の機能が使えなくなるかもと思い元に戻しました。
###補足情報
pip は mecab-configがどうのこうの言われて入れられませんでした。
エラーの種類としては
http://simudaru.hatenablog.com/entry/2014/05/11/010622
と似ていたがPython3でほかの方がビルドしたものが見つかりませんでした。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/12/04 06:24
2016/12/04 10:12
退会済みユーザー
2016/12/04 10:27
2016/12/05 11:16
退会済みユーザー
2016/12/06 13:21