Maxon Developers Maxon Developers
    • Documentation
      • Cinema 4D Python API
      • Cinema 4D C++ API
      • Cineware API
      • ZBrush Python API
      • ZBrush GoZ API
      • Code Examples on Github
    • Forum
    • Downloads
    • Support
      • Support Procedures
      • Registered Developer Program
      • Plugin IDs
      • Contact Us
    • Categories
      • Overview
      • News & Information
      • Cinema 4D SDK Support
      • Cineware SDK Support
      • ZBrush 4D SDK Support
      • Bugs
      • General Talk
    • Unread
    • Recent
    • Tags
    • Users
    • Login

    R8 SDK can't use Codewarrior for Windows

    SDK Help
    0
    6
    1.0k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      Helper
      last edited by

      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?

      1 Reply Last reply Reply Quote 0
      • H
        Helper
        last edited by

        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"

        1 Reply Last reply Reply Quote 0
        • H
          Helper
          last edited by

          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.

          1 Reply Last reply Reply Quote 0
          • H
            Helper
            last edited by

            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... 🙂

            1 Reply Last reply Reply Quote 0
            • H
              Helper
              last edited by

              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.

              1 Reply Last reply Reply Quote 0
              • H
                Helper
                last edited by

                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.

                1 Reply Last reply Reply Quote 0
                • First post
                  Last post