[Win32utils-devel] Building zlib with Visual Studio
djberg96 at gmail.com
Mon May 7 15:01:22 UTC 2012
On Mon, May 7, 2012 at 12:06 AM, Heesob Park <phasis at gmail.com> wrote:
> 2012/5/7 Daniel Berger <djberg96 at gmail.com>
>> I noticed that the current C zlib source includes VS solutions under
>> the "contrib" directory. I built the VC10 project solution, and it
>> seemed to build all the necessary files, though it named them
>> zlibwapi.dll and zlibwapi.lib. Anyway, inspecting the generated .dll
>> files indicates that the deflateReset function was exported:
>> dumpbin /exports zlibwapi.dll
>> 10 10 0003918B deflateReset = @ILT+390(_deflateReset at 4)
>> dumpbin /exports zlibwapi.lib
>> 10 _deflateReset at 4
>> But it doesn't seem to actually export it. BTW, I stuck the headers
>> under c:/usr/local/zlib/include and the libs under
>> # ruby extconf.rb --with-zlib-dir=c:/usr/local/zlib
>> require 'mkmf'
>> dir_config 'zlib'
>> have_header 'zlib.h' # yes
>> have_library 'zlibwapi' # yes
>> have_library 'zlibwapi', 'deflateReset' # no ???
>> I did try rebuilding the .lib file from the .def file and at first
>> that seemed to fix things, but Ruby segfaulted the moment I tried to
>> run a "gem install" command.
>> Any ideas?
> According to the readme.txt in contrib/vstudio, zlibwapi.dll is built
> with ZLIB_WINAPI macro and used WINAPI convention.
> Because Ruby's zlib.c uses cdecl calling convention, Ruby failed with
> When I removed ZLIB_WINAPI from preprocessor definition and build dll again,
> I succeed to run "gem install rake".
Thank you, that worked!
More information about the win32utils-devel