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ページに感謝します