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

Re: extern "C"

From: Henrik Frystyk Nielsen <frystyk@w3.org>
Date: Mon, 14 Dec 1998 19:23:21 -0500
Message-Id: <>
To: Jim_Ravan@avid.com, www-lib@w3.org
At 18:44 12/14/98 -0500, Jim_Ravan@avid.com wrote:
>Just ran into this. And, by the way, I'm developing on a Mac using
>Codewarrior Pro 3. Libwww headers like WWWLib.h are bracketed by "extern C"
>and "}" when compiled under a C++ compiler. Unfortunately, for me at least,
>headers like HTAccess.h, HTChunk.h, and HTReq.h are not similarly
>"protected". Thus when the program is linked, many libwww entry points
>which were accessed via WWWLib.h are correctly resolved, but the libwww
>symbols in modules that included HTReq.h, for example, directly are
>unresolved since they have been subjected to C++ name mangling.

The idea was that an application only had to use the WWW*.h include files
and not the HT*.h ones. Any chance you can compile the libwww code itself
using a C compiler and then your application as C++?

If not then I think your hack is the only one that works.

>I assume there was a reason why headers like WWWLib.h contain "extern C",
>but headers like HTReq.h do not. Could someone explain it? I get around the
>problem by bracketing the instantiation of the offending header files with
>"extern C" myself, but the style god living inside me is offended.

Btw, if possible then I think that other Mac guys on this list would be
very interested in hearing of any problems getting libwww up and running!


Henrik Frystyk Nielsen,
World Wide Web Consortium
Received on Monday, 14 December 1998 19:23:24 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:33:48 UTC