Steve Dower added the comment: (Obligatory recommendation that you use Cython rather than ctypes, especially if you're going to require your users to have a compiler handy - in general this isn't recommended on Windows at all; make sure you distribute wheels if you want to make your users' lives easiest.) I haven't tested this, but I believe you want to specify your libraries with the `libraries` parameter, not the `extensions` parameter: LIBRARIES = [ ('my_lib', {'sources': ['my_lib.c'], 'include_dirs': ['dirs', 'if', 'you', 'want'], 'macros': ['DEFINES', 'IF', 'YOU', 'WANT']}) ] setup( ... libraries=LIBRARIES, ... ) Then you need to ensure build_clib is run to produce it. I'd imagine that will just happen, but I could be wrong. Again, I haven't tried this myself, but it seems to be the right way to build a regular library. ---------- _______________________________________ Python tracker <report@bugs.python.org> <http://bugs.python.org/issue26629> _______________________________________