Hi!

I hope this is the right mailing list for this (might belong more to 
core). As a lot of people, I encountered some problems when adding the 
ruby import library manually to my project. Defining IMPORT and NT=1 
solved those problems (thank God for the mailing list archives). But, 
this introduces another really nasty problem. Those defines trigger the 
inclusion of the win32/win32.h file. This file does a bunch of defines 
of the sort:

#define eof _eof

Now, the problem I have with this is, that my code uses the STL 
stringstream ... which coincidentally has an eof() member function. Now, 
I just went ahead and did something like this (without IMPORT and NT=1):

#define EXTERN extern __declspec(dllimport)
#include <ruby/ruby.h>
#undef EXTERN

The alternative to this was:

#include <ruby/ruby.h>
#undef eof

Both solutions are not really satisfactory. Does somebody know what the 
exact purpose of the win32/win32.h file is? It seems a bit like an 
emulation layer, but that problem should probably be solved in code, not 
  in a header file.

Thanks a lot,
Marco