On Wed, Jul 7, 2010 at 12:34 AM, <[email protected]> wrote:
> More precisely, the constructor provides C source code to access data
> and metadata with files ReadIM{7,x}.{c.h}.
> I wrote a tiny ctypes wrappers in order to have a object-oriented
> class in python that handling reading the data files written by the
> constructor software.
>
> One issue is that ReadIM7.h includes zlib.h. On linux, it is easy to
> install zlib-dev package. All is simple, as it is installed in
> standard repertory. On windows of course no standards. How would you
> then proceed? Do I have to distribute zlib.h, and also zconf.h,
> zlib.lib, libz.a and libz.dll.a needed to get it work ?
Three solutions:
- ask your users to build the software and install zlib by
themselves. On windows, I am afraid it means you concretely limit your
userbase to practically 0.
- build zlib as part of the build process, and keep zlib internally.
- include a copy of the zlib library (the binary) in the tarball.
>
> Other issue: with all these files in ./src, I have the following
> configuration:
> ext = Extension('_im7',
> sources=['src/ReadIM7.cpp', 'src/ReadIMX.cpp'],
> include_dirs=['src'],\
> libraries=['zlib',],\
> library_dirs=['src'],\
> define_macros=[('_WIN32', None), ('BUILD_DLL', None)], \
> extra_compile_args=['-ansi', '-pedantic', '-g', '-v'])
>
> it builds a _im7.pyd file that ctypes is not able to load as it
> expects a _im7.dll file with
> ctypes.cdll.loadlibrary('_im7')...
You cannot build a library loadable with ctypes with distutils nor
numpy.distutils. You need to implement it in distutils, or copy the
code from one of the project which implemented it
cheers,
David
_______________________________________________
NumPy-Discussion mailing list
[email protected]
http://mail.scipy.org/mailman/listinfo/numpy-discussion