Re: Win32 linking problems after 5.3.1 upgrade

>>>>> 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.

In HTUtils.h there is the following code:

#ifdef HTDEBUG
#ifdef WWW_WIN_DLL
extern int *		WWW_TraceFlag;	 /* In DLLs, we need the indirection */
#define WWWTRACE	(*WWW_TraceFlag) 
#else
extern unsigned int	WWW_TraceFlag;	     /* Global flag for all W3 trace */
#define WWWTRACE	(WWW_TraceFlag)
#endif /* WWW_WIN_DLL */
#else
#define WWWTRACE	0
#endif /* HTDEBUG */

so it will be looking for an int* WWW_TraceFlag, but this global
variable is not defined anywhere.

Is it defined in a file that I chopped out during CVS import? (I'm
stripping away stuff like examples, Win32 build stuff, VMS stuff etc.)

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;

Received on Wednesday, 25 October 2000 04:39:06 UTC