R8 SDK can't use Codewarrior for Windows



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 09/01/2003 at 02:32, xxxxxxxx wrote:

    User Information:
    Cinema 4D Version:   8.012 
    Platform:      
    Language(s) :   C.O.F.F.E.E  ;

    ---------
    Hi,
    I'm hoping that there's a solution to this, but I'm not optimistic...

    I've been trying to build the SDK plugins for Windows using CodeWarrior 8.3 under Windows. I can get them to build cleanly, but they cause C4D to crash instantly on startup.

    I note that the R8 documentation says:

    PC only: the compiler options for Pointer-to-member representation MUST be set to "General-Purpose Always" and "Point to Single-Inheritance Classes" (C++ tab/C++ language) (/vmg /vms). If not set the plugin WILL crash instantly!

    I'm guessing that this is my problem. I asked about this on the 'codewarrior.windows' newsgroup and got the following reply from someone at Metrowerks (who make Codewarrior) :

    _
    Unfortunately it seems you're out of luck. The Codewarrior PTM representation is a 12-byte structure and there's no switch to coerce it into a pointer. If your class only uses single inheritance, then it should be possible to extract the actual function pointer by using a hack, based on the cpprtl.c runtime code, but it would require a lot of source changes (read: hacks) and I'm not sure how easily you could integrate this into the Cinema4D SDK._

    I've managed to build a test plugin under the R7 API, which runs fine under both R7 and R8 versions of C4D, so it seems that this requirement is new to the R8 API.

    I'd like to be able to use CW to build for both Mac and Win under R8, but it seems that this is not possible (though it was with R7), and that I either have to use VC6 as well as CW, or I have to stick to the R7 API. I'd rather not use VC6 unless I have to, for various reasons.

    Any comments on this?



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 10/01/2003 at 12:25, xxxxxxxx wrote:

    hi steve,
    although this comment is of absolute no use ... i just wanted you to know that there is somebody out there feeling like you. i also don't like using visual studio because i am much more familiar with the codewarrior (it just does what you want without asking you the same thing very time you press F5 oder F7 ... ). it is just not fair .... but i guess there is no other way than using "virtual studio"



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 10/01/2003 at 15:31, xxxxxxxx wrote:

    Hi Yamato,
    Well I hope that Maxon will be able to remove the 'pointer to member' restriction again at some point, since it forces you to use VC.

    It also occured to me that this means that Mac developers have _no way_ of building a Windows version of any C++ plugins, unless they also own a PC.

    Since C4D itself is cross-platform, it's a shame that in going from R7 to R8 it has actually gone a step backwards in support for cross platform plugin development.



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 11/01/2003 at 06:55, xxxxxxxx wrote:

    It's unfortunate the CW doesn't have this pointer-to-member mode on the PC, if nothing else for VC compatibility. The whole R8 SDK is based on member function pointers so it's crucial that they're interpreted in the same way by the compiled code as by C4D. (I cannot tell from his comments whether he fully understood the issue though. I wouldn't rule out that there is a way to get VC compatibly pointers to member functions...)
    However, the official line is still that CW8 on the mac and VC6 on the PC are the supported environments since they give the maximum performance.
    PS. Don't worry, I feel exactly the same way, but opposite, when I have to switch over to CW to compile my plugins for the mac. Everything is backwards... :-)



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 11/01/2003 at 07:20, xxxxxxxx wrote:

    hehehe, mikael.
    well, some day i started writing code not only for the pc but for various platforms where only the CW is available for. (no, i do not want to use gcc stuff :)
    and this way i got used to it quite rapidly. both, VC and CW have their advantages and disadvantages. for me and my coding style (if i have one at all! ;)) the CW is the better choise.
    anyway. it would be nice, if someone came up with a solution for this "problem" with c4d 8 and the CW one day.



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 17/08/2003 at 05:57, xxxxxxxx wrote:

    Quote: Originally posted by yamato on 10  January 2003
    >
    > * * *
    >
    > hi steve,
    >
    > (it just does what you want without asking you the same thing very time you press F5 oder F7 ... ).
    >
    > * * *
    Wow, I thought I was the only one that hated that.  LOL.  Good to see I'm not the only one who has suffered.  I am a huge user of MSVC compilers and that is one of my biggest little gripes about their IDE.  I used to be a Borland fan but their IDE took a wrong-turn IMHO, their class browser--which is an extremely important tool with large projects--isn't quite the same or apparently as good as organizing class structures and rich heiarchy's as MSVC 7.0.  Although I dislike C# and anything .NET, I just like the newer IDE of MSVC .NET. 
    How is the new CW, I used Pro 5, and it was a little old and went back to MSVC.  Is the new CW's class browser really good?  Have been very tempted to switch!
    Cheers,
    Dustin Juliano
    President/CEO
    Ethereal Evolution, Inc.


Log in to reply