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
    • Recent
    • Tags
    • Users
    • Login
    The Maxon SDK Team is currently short staffed due to the winter holidays. No forum support is being provided between 15/12/2025 and 5/1/2026. For details see Maxon SDK 2025 Winter Holidays.

    R8.2 SDK and Visual C++.net?

    Scheduled Pinned Locked Moved SDK Help
    6 Posts 0 Posters 493 Views
    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 Offline
      Helper
      last edited by

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

      On 13/12/2004 at 08:34, xxxxxxxx wrote:

      User Information:
      Cinema 4D Version:   8.200 
      Platform:   Windows  ;   
      Language(s) :     C++  ;

      ---------
      Howdy,

      Has anyone been successful in compiling the R8.2 SDK on the PC using Visual C++.net?

      CodeWarrior 9 on the Mac was a breeze, a couple of minor errors to fix and it was done.

      Visual C++.net has way too many errors (it fills up the maximum space in the error log and then aborts). All of the files have had their line endings fixed, but it's still not working.

      Any suggestions?

      Adios,
      Cactus Dan

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

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

        On 23/12/2004 at 03:24, xxxxxxxx wrote:

        Maybe the Visual C++.net compiler expects managed C++, which is AFAIK a true subset of C++. Can this compiler even generate native code or just CLR bytecode? The latter will not work as a C4D plugin for obvious reasons.

        The Visual C++ compiler you can get for free from Microsoft compiles the SDK with some minor fixes fine here.

        Michael

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

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

          On 23/12/2004 at 06:57, xxxxxxxx wrote:

          Howdy,

          Thanks for the reply Michael.

          Visual C++.net seemed to compile the R8.5 SDK with no problems. My plugin is available for Mac/PC in R8.5 but I had a couple of requests for an R8.2 version and I can compile the 8.2 SDK on the Mac but not on the PC.

          What would be the main difference between the 8.2 and 8.5 SDK's that would cause the PC failure of the 8.2 SDK? I'll go back and check the settings and see if I missed something.

          Adios,
          Cactus Dan

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

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

            On 23/12/2004 at 19:19, xxxxxxxx wrote:

            Howdy,

            OK, I checked the settings and they look the same as the 8.5 project. So, I tried compiling just the api by itself first and I only got these errors:

            c:\Program Files\MAXON\CINEMA_4D_R8\Resource\_api\c4d_string.h(103) : error C2501: 'UFF' : missing storage-class or type specifiers
            c:\Program Files\MAXON\CINEMA_4D_R8\Resource\_api\c4d_string.h(103) : error C2143: syntax error : missing ';' before '--'
            c:\Program Files\MAXON\CINEMA_4D_R8\Resource\_api\c4d_gv\c4d_graphview.h(612) : error C2198: 'GvCalcError (__cdecl * )(void *,GvValueID,const void *const ,const void *const ,void *,LONG,GvValueFlags,Real)' : too few arguments for call through pointer-to-function
            c:\Program Files\MAXON\CINEMA_4D_R8\Resource\_api\c4d_gv\c4d_graphview.h(620) : error C2198: 'GvCalcError (__cdecl * )(void *,GvValueID,const void *const ,const void *const ,void *,LONG,GvValueFlags,Real)' : too few arguments for call through pointer-to-function
            c:\Program Files\MAXON\CINEMA_4D_R8\Resource\_api\c4d_gv\c4d_graphview.h(620) : error C2198: 'GvCalcError (__cdecl * )(void *,GvValueID,const void *const ,const void *const ,void *,LONG,GvValueFlags,Real)' : too few arguments for call through pointer-to-function
            c:\Program Files\MAXON\CINEMA_4D_R8\Resource\_api\c4d_gv\c4d_graphview.h(612) : error C2198: 'GvCalcError (__cdecl * )(void *,GvValueID,const void *const ,const void *const ,void *,LONG,GvValueFlags,Real)' : too few arguments for call through pointer-to-function
            c:\Program Files\MAXON\CINEMA_4D_R8\Resource\_api\c4d_gv\c4d_graphview.h(620) : error C2198: 'GvCalcError (__cdecl * )(void *,GvValueID,const void *const ,const void *const ,void *,LONG,GvValueFlags,Real)' : too few arguments for call through pointer-to-function
            c:\Program Files\MAXON\CINEMA_4D_R8\Resource\_api\c4d_gv\c4d_graphview.h(612) : error C2198: 'GvCalcError (__cdecl * )(void *,GvValueID,const void *const ,const void *const ,void *,LONG,GvValueFlags,Real)' : too few arguments for call through pointer-to-function
            c:\Program Files\MAXON\CINEMA_4D_R8\Resource\_api\c4d_gv\c4d_graphview.h(620) : error C2198: 'GvCalcError (__cdecl * )(void *,GvValueID,const void *const ,const void *const ,void *,LONG,GvValueFlags,Real)' : too few arguments for call through pointer-to-function
            c:\Program Files\MAXON\CINEMA_4D_R8\Resource\_api\c4d_gv\c4d_graphview.h(612) : error C2198: 'GvCalcError (__cdecl * )(void *,GvValueID,const void *const ,const void *const ,void *,LONG,GvValueFlags,Real)' : too few arguments for call through pointer-to-function
            c:\Program Files\MAXON\CINEMA_4D_R8\Resource\_api\c4d_string.h(108) : fatal error C1020: unexpected #endif
            c:\Program Files\MAXON\CINEMA_4D_R8\Resource\_api\c4d_resource.cpp(60) : warning C4291: 'void *Filename::operator new(size_t,int,const CHAR * )' : no matching operator delete found; memory will not be freed if initialization throws an exception

            There seems to only be three problem files: c4d_string.h, c4d_graphview.h & c4d_resource.cpp

            I'm not quite sure how to fix these errors, though.

            It's saying that the errors in c4d_string.h are in lines 103 and 108, but there are only 102 lines in c4d_string.h (that doesn't make any sense)

            Any ideas?

            Adios,
            Cactus Dan

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

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

              On 27/12/2004 at 12:32, xxxxxxxx wrote:

              Search the forum for C2198 and you'll find instructions how to eliminate those errors. (In https://developers.maxon.net/forum/topic/1239.)

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

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

                On 27/12/2004 at 17:31, xxxxxxxx wrote:

                Howdy,

                Well, I looked at that thread, but I'm a bit confused.

                In tracing the error that's in c4d_graphview.h on line 612, I start here:
                inline void GvClearDynamicData(GvDynamicData &data;, GvRun *r)
                {
                     data.info->value_handler->Calculate(data.info->value_handler->userdata,data.info->value_handler->value_id,NULL,NULL,data.data,r->GetCpuID(),GV_CALC_CLR,NULL); // line "612"
                }

                "data" leads me to here:
                struct GvDynamicData
                {
                     GvDynamicData(void) : data(NULL), info(NULL), cpu_count(0) { }
                     
                     void*                    data;
                     GvDataInfo*     info;
                     LONG                    cpu_count;
                };

                "data.info" leads me to here:
                struct GvDataInfo
                {
                     GV_DATA_HANDLER*                    data_handler;
                     GV_VALUE_HANDLER*                    value_handler;
                     GV_VALGROUP_HANDLER*          group_handler;
                };

                "data.info->value_handler" leads me to here:
                struct GV_VALUE_HANDLER
                {

                GvValueID          value_id;
                          GvValueFlags     value_flags;
                          void*               userdata;
                                                                  
                          Bool               (*Alloc     )(void *userdata,void *&data;, LONG nr_of_cpus);
                          void               (*Free     )(void *userdata,void *&data;, LONG nr_of_cpus);
                          GvCalcError          (*Convert     )(void *userdata,GvValueID source_id, const void* const source, GvValueID dest_id, void *dest, LONG cpu_id);
                          GvCalcError          (*Calculate     )(void *userdata,GvValueID id, const void* const source1, const void* const source2, void *dest, LONG cpu_id, GvValueFlags calculation, Real parm1);
                          void               (*CopyFrom     )(void *userdata,const void* const source, void *dest, LONG cpu_id);
                          void               (*CopyTo     )(void *userdata,const void* const source, void *dest, LONG cpu_id);
                          LONG               (*GetConversionsFrom     )(void *userdata,GvValueID *&table;);
                          LONG               (*GetConversionsTo     )(void *userdata,GvValueID *&table;);
                          const String*          (*GetName     )(void *userdata);
                          Bool               (*Read      )(void *userdata,const void* const data, LONG nr_of_cpus, HyperFile &hf;);
                          Bool               (*Write      )(void *userdata,const void* const data, LONG nr_of_cpus, HyperFile &hf;);
                          BaseBitmap*          (*GetIcon      )(void *userdata);
                          const void*          (*GetDataInstance      )(void *userdata,const void* const source, LONG cpu_id);
                };

                ...but I'm not seeing any default parameters in the "Calculate" function call, unless I've traced it to the wrong place?

                Any ideas?

                Adios,
                Cactus Dan

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