我已经在Windows上使用mingw64和msys编译了aspell以与enchant和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)的权限,停用了防病毒软件,以管理权限执行了msys,但没有任何解决方案。
该文件可以在任何文本编辑器中正确打开。

我为此任务配置的系统是:
Windows 8.1 x64;
Mingw-64 + MSYS;
咒语0.60

有谁能够帮我?

谢谢。

最佳答案

它可能与您如何编译aspell有关。

我已经在MSYS环境和gcc 4.7.0(准确地说是mingw32-4.7.0-posix-dwarf-rev0)下在Windows 7 x64下成功编译并运行了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

因此我遵循了本指南here(我想您也可能这样做)来绕过此错误。

编译和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,发现我跳过的代码与路径处理有关。后来我发现这个Japanese article指出在asc_tyoe.hpp中定义了asc_isalpha。所以我加
#include "asc_ctype.hpp"

到file_util.cpp,然后再次重新编译aspell。然后,我尝试编译aspell6-zh-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发挥作用

关于python - Windows : iso-8859-1. cset上的aspell dict make无法打开以供阅读,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21446620/

10-09 17:25