在Windows上构建pyhunspell
我在使用64位的Windows和Python 2.7。
我下载了hunspell和pyhunspell。
我在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 个回答
我用一种奇怪的方法制作了一个Python包:
我修改了已经改过的
setup.py
文件,添加了这一行:libraries = ['../hunspell-1.3.3/src/hunspell/.libs/libhunspell-1.3']
我把这个文件:
hunspell-1.3.3/src/hunspell/.libs/libhunspell-1.3.dll.a
重命名为:
hunspell-1.3.3/src/hunspell/.libs/libhunspell-1.3.lib
用默认的编译器 - MSVC 编译:
python setup.py build
python setup.py install
把这个文件:
hunspell-1.3.3/src/hunspell/.libs/libhunspell-1.3-0.dll
复制到 site-packages 文件夹里。
然后就可以导入使用了。