Hi,

At Thu, 3 Jan 2008 13:49:33 +0900,
Mohit Sindhwani wrote in [ruby-talk:285753]:
> Linking in a C program works perfectly fine.  The problem that I was 
> having was in a C++ file.  I found some hints from another thread: 
> http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/215624
> 
> Based on this, I changes win32.h - it originally has a line like:
> #if defined(__cplusplus)
> extern "C++" {
> #endif
> ((after this, in does #include for stdio.h, stdlib.h, etc.))
> 
> I changed the C++ there to "C" and then it works fine.  I also had to 
> remark out one of the lines in missing.h because it seems that one of 
> the definitions there is now not missing :)

It must be C++ due to a template without extern "C++", in
math.h of MSVC6.  Microsoft also seems to have considered this
is a problem and fixed it in VC8.

The re-definitions in BCC are caused by C linkage and using std
namespace.  Although it also seems quite curious, it should be
fixed as a workaround for VC6.

-- 
Nobu Nakada