These errors went away just by switching the order of the includes, i.e.:#ifdef __cplusplus extern "C" { #endif #include "EXTERN.h" #include "perl.h" #include "XSUB.h" #include "ppport.h" #ifdef __cplusplus } #endif #include <iostream> #include <string> //plus a bunch more standard C++ includes // rest of C++ and XS code below.
Now, don't ask my why this worked, I just know that it did. I guess -- but this is just a guess -- it could be some Perl headers interfering with use of standard headers of the same name or some such.#include <iostream> #include <string> //plus a bunch more standard C++ includes #ifdef __cplusplus extern "C" { #endif #include "EXTERN.h" #include "perl.h" #include "XSUB.h" #include "ppport.h" #ifdef __cplusplus } #endif // C++, XS code below
--DrWhy
"If God had meant for us to think for ourselves he would have given us brains. Oh, wait..."
In reply to Re^2: Building C++ extensions under MSVC?
by DrWhy
in thread Building C++ extensions under MSVC?
by DrWhy
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |