3

enchant と pyenchant で使用する Windows で mingw64 と msys を使用して aspell をコンパイルしましたが、まだ dicts がありません: "aspell dump dicts" は何も返しません。

私が今試しているのは、http://gnu.c3sl.ufpr.br/ftp/aspell/dict/en/から取得した en dict を使用して、./configure、make、および make install を実行することです。

.configure は正常に実行されますが、make は次を返します。

/mingw/bin/prezip-bin.exe -d < en-common.cwl | /mingw/bin/aspell.exe  --lang=en create master ./en-common.rws
Error: The file "/mingw/lib/aspell-0.60/iso-8859-1.cset" can not be opened for reading.
Makefile:108: recipe for target `en-common.rws' failed
make: *** [en-common.rws] Error 1

このファイル (iso-8859-1.cset) のアクセス許可を既に確認し、アンチ ウイルスを非アクティブ化し、管理者アクセス許可で msys を実行しましたが、問題は解決しませんでした。ファイルは、任意のテキスト エディターで正しく開きます。

このタスクのシステム構成は次のとおりです。Windows 8.1 x64。Mingw-64 + MSYS; アスペル 0.60

誰でも私を助けることができますか?

ありがとう。

4

1 に答える 1

0

aspell のコンパイル方法に関係している可能性があります。

Windows 7 x64、MSYS 環境、gcc 4.7.0 (正確には mingw32-4.7.0-posix-dwarf-rev0) で aspell 0.60.61 と辞書 aspell6-en-7.1-0 を正常にコンパイルして実行しました。まだすべての問題を解決しているわけではありませんが、ここに私の発見があります:

私が使用する構成は次のとおりです。

$ ./configure --disable-shared --enable-static --enable-win32-relocatable

最初に aspell をコンパイルしたとき、コンパイル エラーが発生しました。

common/file_util.cpp: In function 'bool acommon::need_dir(acommon::ParmString)':
common/file_util.cpp:49:32: error: 'asc_isalpha' was not declared in this scope

そのため、このエラーを回避するために、こちらのガイドに従ってください(おそらくあなたもそうしたと思います)。

コンパイルされたものはすべて aspell を実行できますが、その後、取得したエラーなど、エラーを解決するパスが表示され続けました。

Error: The file "/usr/local/lib/aspell-0.60//usr/loc`enter code here`al/lib/aspell-0.60/en_US.multi" can not be opened for reading.

(元のメッセージは保持していませんが、そのようなものです) --data-dir、--dict-dir、または --local-data-dir オプションを使用しようとしましたが、それが機能したのは/usr/local/lib/aspell-0.60/ フォルダーにいて、 --data-dir を ./ に設定すると

しかし、そうであってはならないので、file_util.cpp を振り返ると、スキップしたコードがパス処理に関係していることがわかりました。後で、asc_tyoe.hpp で asc_isalpha が定義されていることを指摘するこの日本語の記事を見つけました。だから私は追加します

#include "asc_ctype.hpp"

file_util.cpp に追加し、再度 aspell を再コンパイルします。次に aspell6-en-7.1-0 をコンパイルしようとしましたが、今回はエラーはなく、辞書は正常にコンパイルされました。

現在の問題は、デフォルトでは aspell がまだ辞書を見つけることができず、次のようなエラー メッセージが表示されることです。

Error: No word lists can be found for the language "en_US".

aspell にはデフォルトで正しい data-dir がありますが、

$ aspell config data-dir
/usr/local/lib/aspell-0.60

しかし、少なくとも --data-dir オプションが機能するようになったので、次のように aspell を使用できます。

$ aspell --data-dir=/usr/local/lib/aspell-0.60/ -c test.txt

aspell の問題も解決できることを願っています。

参照:

http://lists.gnu.org/archive/html/aspell-user/2007-10/msg00008.html
http://mikanya.dip.jp/memo/2007-09-07-1
https://www. mail-archive.com/aspell-user%40gnu.org/msg02226.html
http://osdir.com/ml/general/2014-12/msg10031.html

aspellを機能させる方法を理解するのに役立つこれらの記事/Webページに感謝します

于 2014-12-21T15:55:10.243 に答える