Thanks for pointing me the right direction. There is a much more elegant solution suggested in rexxapitypes.h in 4.2. Since Visual C++ has the stdint.h header where the conflicts occur, it says to simply #define HAVE_STDINT_H before including rexxapitypes.h. I made the following change to my own code which resolved the problem: // If stdint.h was included, suppress conflicts in oorexxapi.h by defining // HAVE_STDINT_H. #if defined(_STDINT) #define HAVE_STDINT_H #endif #include "oorexxapi.h"
I've been working on some native API methods in 4.2 where it would be extraordinarily useful to code using the C++ Standard Template Library. However, I can't get the C++ STL headers to coexist with "oorexxapi.h". For example, I want to call a C++ function to return essentially an array of C++ string objects in a vector object. In the Rexx API C++ method, I would like to traverse the vector and append the contents of each string object to a Rexx Array Object. Unfortunately, I cannot include either...
Let me know if there's anything special I would need to do while installing 5.0 to preserve coexistence with 4.2. I think this topic would be of general interest to others who have avoided trying out 5.0 because we always thought 4.2 and 5.0 could not coexist. So perhaps you should post a new thread somewhere under a topic called "4.2/5.0 Coexistence".
Yes, I would definitely like to know what you’ve done to make switching back and forth between 4.2 and 5.0 possible.
Is anyone working on a port of ooRexx to IBM's z/OS or z/VM operating systems? I know it's a rather massive undertaking. But given the origin of Rexx on the IBM mainframe platforms (VM first, then MVS), it would seem logical to eventually implement it on its original platform.
I was the one who originally opened this as feature request #583 on 2014-02-09 but I was using a different ID (RodD) at the time which I somehow lost at some point. I was probably using my old email account which I no longer have. Apparently, this new feature request was opened later to replace the earlier request. Is it possible for ooRexx 5.0 and 4.2 to coexist on the same Windows machine? If so, I could easily test this feature for 64-bit Windows. I am familiar with the IPV4 vs IPV6 differences...
I finally got the link to work correctly by adding the suggested "/def:xxx.def" before the list of object decks included. I had been mistakenly adding it after the object decks triggering a link failure. Thanks all for your help!
And yes it's 4.2.0. Since I'm not building the function DLL as part of a full Object Rexx system build, I don't have any of the environment variables defined which are not part of the Microsoft compiler environment setup. And I have no idea what a DFW file is.