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: <3.0.5.32.19981214192321.0312b320@localhost>
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!

Thanks,

Henrik
--
Henrik Frystyk Nielsen,
World Wide Web Consortium
http://www.w3.org/People/Frystyk
Received on Monday, 14 December 1998 19:23:24 EST

This archive was generated by hypermail pre-2.1.9 : Wednesday, 3 September 2003 17:59:24 EDT