我已经在窗户上用mingw64和msys压缩了aspell,可以和附魔和pyenchant一起使用,但是我仍然没有任何的字迹:“aspell dump dicts”不会返回任何结果。
我现在要做的是做一个./configure,使用http://gnu.c3sl.ufpr.br/ftp/aspell/dict/en/获得的一个词典进行安装。
.configure执行成功,但返回:
/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),取消了反病毒,用pipe理权限执行了msys,但没有解决问题。 该文件在任何文本编辑器中正确打开。
我的这个任务的系统configuration是:Windows 8.1 x64; Mingw-64 + MSYS; Aspell 0.60
有谁能够帮助我?
谢谢。
这可能与你如何编译aspell有关。
我已经成功编译和运行aspell 0.60.61和字典aspell6-en-7.1-0在MSYS环境下的Windows 7 x64和gcc 4.7.0(准确地说是mingw32-4.7.0-posix-dwarf-rev0)。 我还没有解决所有问题,但这是我的发现:
我使用的配置是:
$ ./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_isalpha是在asc_tyoe.hpp中定义的。 所以我补充一点
#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工作