在Windows上构建pyhunspell

0 投票
1 回答
2224 浏览
提问于 2025-04-18 14:29

我在使用64位的Windows和Python 2.7。

我下载了hunspellpyhunspell

我在64位的MinGW系统上成功编译了hunspell项目,得到了可以用的hunspell工具和库。编译完成后,我的文件夹结构是这样的:

+---hunspell-0.1
\---hunspell-1.3.3
    +---intl
    +---m4
    +---man
    |   \---hu
    +---po
    +---src
    |   +---hunspell
    |   |   +---.deps
    |   |   \---.libs
    |   +---parsers
    |   |   +---.deps
    |   |   \---.libs
    |   +---tools
    |   |   +---.deps
    |   |   \---.libs
    |   \---win_api
    \---tests
        \---suggestiontest

在文件夹hunspell-0.1里,我有pyhunspell项目。我打开了setup.py文件,并做了如下修改:

main = Extension('hunspell',
                 libraries = ['../hunspell-1.3.3/src/hunspell/.libs/hunspell-1.3'],
                 include_dirs = ['../hunspell-1.3.3/src/hunspell'],
                 sources = ['hunspell.c'],
                 extra_compile_args = ['-Wall'])

执行python setup.py build -c mingw32后,出现了这个结果:构建日志,最后显示了一个错误信息:

c:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.2/../../../../x86_64-w64-mingw32/bin/ld.exe: c:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.2/../../../../x86_64-w64-mingw32/lib/../lib/libmingw32.a(lib64_libmingw32_a-mingw_helpers.o): bad reloc address 0x0 in section ".pdata"'

有没有人知道可能是什么问题呢?

1 个回答

0

我用一种奇怪的方法制作了一个Python包:

  1. 我修改了已经改过的 setup.py 文件,添加了这一行:

    libraries = ['../hunspell-1.3.3/src/hunspell/.libs/libhunspell-1.3']

  2. 我把这个文件:

    hunspell-1.3.3/src/hunspell/.libs/libhunspell-1.3.dll.a

    重命名为:

    hunspell-1.3.3/src/hunspell/.libs/libhunspell-1.3.lib

  3. 用默认的编译器 - MSVC 编译:

    python setup.py build

    python setup.py install

  4. 把这个文件:

    hunspell-1.3.3/src/hunspell/.libs/libhunspell-1.3-0.dll

    复制到 site-packages 文件夹里。

然后就可以导入使用了。

撰写回答