W3C home > Mailing lists > Public > www-lib@w3.org > October to December 2000

Re: Win32 linking problems after 5.3.1 upgrade

From: Steinar Bang <sb@metis.no>
Date: 25 Oct 2000 11:02:19 +0200
To: www-lib@w3.org
Message-ID: <why9zd9tus.fsf@viffer.computas.no>
>>>>> Steinar Bang <sb@metis.no>:

>>>>> Steinar Bang <sb@metis.no>:
>> Platform: WinNT4, MSVC 5, libwww 5.3.1
>> I'm getting a linking error after an upgrade to 5.3.1.  The previous
>> version was a CVS checkout from September 4 1999, using the Amaya tag.

>> I'm not doing a normal Win32 build.  I'm building the entire libwww as 
>> a single DLL (ideally it should only contain the stuff I need, but
>> I've never gotten round to stripping it down).

>> When building the DLL I'm getting missing symbols, most of them about
>> _WWW_TraceFlag (but also some about _inflateInit_, _inflate, and
>> _inflateEnd.  They are all related to decompressing.  I'll look into
>> them later).

>> A quick grep tells me that WWW_TraceFlag is a PUBLIC unsigned int in
>> HTTrace.c.  As far as I can tell HTTrace.c have been compiled.

> Hm... that definition is protected with #ifndef WWW_WIN_DLL, and I
> define this symbol.

[snip!]
> Should I create a file which contains this variable and something it
> points to?

> Eg. something like this:

> static int theWWW_TraceFlag;
> int* WWW_TraceFlag = &theWWW_TraceFlag;

Something like that worked.  I put the following in HTTrace.c:

#ifndef WWW_WIN_DLL
PUBLIC unsigned int WWW_TraceFlag = 0;		/* Global trace flag for ALL W3 code */
#else
static int theWWW_TraceFlag = 0;
PUBLIC int* WWW_TraceFlag = &theWWW_TraceFlag;		/* Global trace flag for ALL W3 code */
#endif

Then there's only the inflate symbols left.

I use version 1.0.4 of zlib, compiled as a static .lib which is then
linked into the libwww DLL.  Is this a problem?
Received on Wednesday, 25 October 2000 05:03:15 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 23 April 2007 18:18:38 GMT