in reply to Re: Name conflict between MinGW C++ standard library header and Perl development header
in thread Name conflict between MinGW C++ standard library header and Perl development header

It does not work. The same error occurs... That is pretty suprising: why I undef the macro, but it is still seen by latter code?
  • Comment on Re^2: Name conflict between MinGW C++ standard library header and Perl development header

Replies are listed 'Best First'.
Re^3: Name conflict between MinGW C++ standard library header and Perl development header
by syphilis (Archbishop) on Nov 11, 2014 at 12:25 UTC
    The same error occurs

    It shouldn't be *exactly* the same error. I think
    D:\mydoc\projects\GenoEye-0.4.5-Source\perl\genoeye_perl.h:9
    should have become:
    D:\mydoc\projects\GenoEye-0.4.5-Source\perl\genoeye_perl.h:11
    Otherwise the modified file was not found.

    Cheers,
    Rob
      Yes, the line num changed. I entered empty lines several times to ensure the modification is visible for the compiler.
        Yes, the line num changed

        Then I can't envisage the situation that leaves "write" defined to ""PerlLIO_write" - but apparently that's what's happening.

        It's probably not the best way, but I'd be fiddling about with some Inline::C scripts to check on some things.
        Based on the information at hand, I would think that the following Inline::C script (untested) should produce the error:
        use Inline C => Config => BUILD_NOISY =>1, INC => '-ID:/mydoc/projects/GenoEye-0.4.5-Source/src'; use Inline C => <<'EOC'; /* #undef write */ #include <genoeye/Common.h> EOC
        and that the error should disappear once the #undef is commented in. (Though your experience suggests that that the inclusion of #undef write into the code will make no difference.)

        Cheers,
        Rob