質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Mecab

Mecabは、オープンソースの形態素解析エンジンです。 言語、辞書、コーパスに依存しない汎用的な設計を基本方針としています。 Mecabの由来は、開発者の好物である和布蕪(めかぶ)から名づけられました。

Q&A

1回答

706閲覧

python2.7にmecabをバインドする過程のmecabのビルドに困っています。

aki_nori

総合スコア6

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Mecab

Mecabは、オープンソースの形態素解析エンジンです。 言語、辞書、コーパスに依存しない汎用的な設計を基本方針としています。 Mecabの由来は、開発者の好物である和布蕪(めかぶ)から名づけられました。

0グッド

0クリップ

投稿2017/09/12 15:07

windows10 64bitを用いています。python2.7でmecabを使えるようにしたいのですが、その途中でのmecabのビルドに困っています。http://pmanknowledge.memo.wiki/d/Windows%2064bit%20%2B%20Python2.7%20%2B%20natto.MeCab%20%B4%C4%B6%AD%B9%BD%C3%DB%CA%B3%C6%AE%B5%ADを参照にビルドする手前のcallコマンドまでは行けたのですがいざnmake -f Makefile.msvc.inを実行すると以下のエラー文を吐きます
「Microsoft(R) Program Maintenance Utility Version 14.11.25507.1
Copyright (C) Microsoft Corporation. All rights reserved.

cl.exe /EHsc /O2 /GL /GA /Ob2 /nologo /W3 /MT /Zi /wd4800 /wd4305 /wd4244 -I. -I.. -D_CRT_SECURE_NO_DEPRECATE -DMECAB_USE_THREAD -DDLL_EXPORT -DHAVE_GETENV -DHAVE_WINDOWS_H -DDIC_VERSION=102 -DVERSION="\"0.996\"" -DPACKAGE="\"mecab\"" -DUNICODE -D_UNICODE -DMECAB_DEFAULT_RC="\"c:\\Program Files (x86)\\MeCab\\etc\\mecabrc\"" -c utils.cpp

utils.cpp
utils.cpp(321): warning C4267: '引数': 'size_t' から 'DWORD' に変換しました。データが失われているかもしれません。
utils.cpp(332): warning C4267: '初期化中': 'size_t' から 'DWORD' に変換しました。データが失われているかもしれません。
utils.cpp(548): warning C4267: '引数': 'size_t' から 'const int' に変換しました。データが失われているかもしれません。
link.exe /nologo /OPT:REF /OPT:ICF /LTCG /NXCOMPAT /DYNAMICBASE /MACHINE:X64 ADVAPI32.LIB /out:libmecab.dll feature_index.obj param.obj learner.obj string_buffer.obj char_property.obj learner_tagger.obj tagger.obj connector.obj tokenizer.obj context_id.obj dictionary.obj utils.obj dictionary_compiler.obj viterbi.obj dictionary_generator.obj writer.obj iconv_utils.obj dictionary_rewriter.obj lbfgs.obj eval.obj nbest_generator.obj libmecab.obj /dll
fatal error C1905: フロント エンドとバック エンドに互換性がありません (同じプロセッサを対象としなければなりません)。
LINK : fatal error LNK1257: コードの生成に失敗しました。
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\bin\HostX64\x64\link.exe"' : リターン コード '0x4e9'
Stop.」
調べたところ、これはobjファイルを作成したコンパイラのフロントエンドとobjファイルを読み取るバックエンドのプロセッサ(x64 or x86 or ARM)が異なる、とありましたがどのようにすれば一致して、解決するのでしょうか?ご教示お願い致します。
mecab0.996,visual studio 2017 community
を用いています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

magichan

2017/09/14 11:45

一度、 "nmake -f Makefile.msvc.in clean" を行ってから再度 "nmake -f Makefile.msvc.in" を行っても、結果は一緒でしょうか?
aki_nori

2017/09/29 09:11

できました、ありがとうございます!!
guest

回答1

0

どうしてもビルドする理由があるのなら仕方ないですが、もし、windowsで使えればいいという状況なら、ビルド済みのmecabをインストーラーで入れればいいのではないかと思います。
下のURLからBinary package for MS-Windows mecab-0.996.exe をダウンロードできます

http://taku910.github.io/mecab/#download

投稿2017/09/12 15:21

oskbt

総合スコア1895

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問