0
我想建立我自己的python(3.5.2)c扩展取决于zlib。使用Linux上的gcc它完美的工作,但我似乎无法使它在Windows 64位上工作。与python扩展VS2015链接器错误
我按照说明书安装zlib的DLL:
Installing ZLIB1.DLL
====================
Copy ZLIB1.DLL to the SYSTEM or the SYSTEM32 directory.
Using ZLIB1.DLL with Microsoft Visual C++
=========================================
1. Install the supplied header files "zlib.h" and "zconf.h"
into a directory found in the INCLUDE path list.
2. Install the supplied library file "zdll.lib" into a
directory found in the LIB path list.
3. Add "zdll.lib" to your project.
我setup.py:
from setuptools import setup, Extension
from Cython.Build import cythonize
setup(
ext_modules=cythonize([Extension("esp", ["bethlib/esp.pyx", "bethlib/c_esp.c", "bethlib/linked_list.c"], libraries=["zdll"], include_dirs=["include"], library_dirs=["lib"])]),
)
试图建立与python setup.py bdist_wheel
给出了错误:
c_esp.obj : error LNK2001: unresolved external symbol uncompress
build\lib.win-amd64-3.5\esp.cp35-win_amd64.pyd : fatal error LNK1120: 1 unresolved externals
error: command 'E:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\link.exe' failed with exit status 1120
uncompress
是一个存在于zlib.h中的有效函数。任何解决方案谢谢!
在Windows上,您必须使用与用于构建Python解释器并推测为'zlib.dll'(或者使用gcc)相同版本的VS来构建扩展。 – martineau
是的,使用VS2015(visual C++编译器14.0),并且zlib建议按照使用方法安装的zlib1.dll –
您确定zlib是x64版本吗? – refi64