#1167 Incompatible Typedefing for MingW32 compiler (ooRexx 4.1.2)

v4.2.0
closed
Mark Miesfeld
None
complete
1
2014-04-15
2013-03-26
Mario Sacco
No

Using MingW32 compiler I found the following problem probably related to an unconditional typedefing of ANSI integer types that are incompatible with this compiler.
This problem essentially broke most C programs that use ooRexx!

Other data you asked for:
- ooRexx 64 bit
- Windows 7 Professional SP1
- to reproduce the problem compile the attached sample program by: gcc -I"c:\program files\oorexx\api" ms1.c -o ms1

Thanks in advance for your attention.

Mario Sacco

1 Attachments

Discussion

  • Perry Werneck
    Perry Werneck
    2013-04-17

    Are you talking about the double define of _SSIZE_T_DEFINED ? I "solved" this problem in my programs passing a -D_SSIZE_T_DEFINED in the compiler command line. Not so beatiful but it seens to be working.

    Take a look at the patch sugested in the ticket #178 (GTK 3 support); with this "hack" I was able to build gtkrexx with MinGW without errors.

     
  • Mark Miesfeld
    Mark Miesfeld
    2013-09-29

    • status: open --> pending
    • assigned_to: Mark Miesfeld
    • Group: 4.1.2 --> 4.1.4
     
  • Mark Miesfeld
    Mark Miesfeld
    2013-09-29

    Committed revision 9436. [49436] 4.1 fixes

    This problem was fixed in trunk. The code was back ported to the 4.1 fixes branch so that it will be in the next release for sure.

    define HAVE_STDINT_H before including rexx.h. In your example program, do this:

    /
    * mingw32 test program with ooRexx
    * build with:
    * gcc -I"c:\program files\oorexx\api" ms1.c -o ms1
    /

    include <stdio.h>

    include <stdlib.h>

    include <stdint.h>

    define INCL_RXFUNC

    define INCL_RXSHV

    define INCL_RXSYSEXIT

    define HAVE_STDINT_H

    include <rexx.h>

    int main( int argc, char *argv[] )
    {
    printf("Hello world\n");
    }

     


Anonymous


Cancel   Add attachments