Really need help getting started



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

    On 14/01/2008 at 05:48, xxxxxxxx wrote:

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

    ---------
    I need help getting started. Can somebody point me at a good tutorial on how to create a very very simple HelloWorld plugin?

    C++ is not the problem, the problem is that even after reading the SDK documentation for the 3rd time, I'm still no able to create a dialog plugin. I think that I am messing up with the directory structure and I don't know what to put in what file...

    I found a very old thread from 2003 with a HelloWorld plugin: http://home.arcor.de/marcus.spranger/sdk8_pool/

    Is it still up-to-date for 10.5?



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

    On 14/01/2008 at 08:52, xxxxxxxx wrote:

    Maxon provides a set of examples with every install of Cinema 4D/BodyPaint 3D. Check your plugins:cinema4dsdk folder. That old tutorial will probably work for the most part. There have been many changes to the SDK since R8 but something simple should still work. One problem is that R10.5 *only* uses Visual Studio 2005 (Windows) and Xcode (MacOS) - there is no longer support for Visual Studio 6.0 and CodeWarrior.

    It is usually easy to copy the cinema4dsdk folder and widdle it down to the type of plugin you wish to create as a template for your project when you are starting off. You'll get the default project configuration settings and the api.lib build along with it.

    This is one reason why there isn't much of a 'HelloWorld' plugin setup for C4D plugins - there are a wide variety of plugin types which vary slightly depending upon type: Command, Object, Tag, SceneHook, Tool, Import/Export, etc.



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

    On 14/01/2008 at 10:21, xxxxxxxx wrote:

    Visual Studio 2005 or 2008? Will the Express Editon do?



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

    On 14/01/2008 at 11:29, xxxxxxxx wrote:

    Visual Studio 2005 at least. Should work with 2008. The Express Edition will work except for 64-bit plugins. It doesn't allow/support 64-bit targets. To support 64-bit, you'll need to get one of the commercial versions of Visual Studio.



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

    On 14/01/2008 at 12:22, xxxxxxxx wrote:

    Nah, the last time I tried to play with the SDK I gave up because XCode is a nightmare. So I switched to Windows but now I run into new problems.

    Every time I try to compile the sdk I get the following error:

    fatal error C1083: Cannot open include file: 'c4d.h': No such file or directory

    So, I checked if the c4d.h file is in the project structure and NO, it wasn't. So I included it, but I still get the same error.

    I guess that's it for this time... Can't remember how many days I was sitting before the computer trying to get something going. :(



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

    On 14/01/2008 at 12:51, xxxxxxxx wrote:

    Knowing about Cinema 4D's overall structure would help here. The SDK example source is in the plugins:cinema4dsdk folder. All of the basic SDK source files are in the resource folder within the Cinema 4D install. The non-basic source files (usually just headers and description resources) are in the modules folder within the Cinema 4D install - these would only be necessary under particular circumstances.

    The c4d.h file is in the resource:_api folder along with most of the SDK class source. Note that below the _api folder is a folder '_api_lib'. This contains the project that builds the library required to build *any* Cinema 4D plugin. This project is included in the cinema4dsdk project so that the .lib is built with the plugin. The cinema4dsdk project should pick this up unless you've copied this folder to a different location - then you'll also need to copy the resource folder to be relative to that copy or rectify all of the preprocessor include directories.

    See this thread which may help:

    Problem with MSVC 2008

    For R10.5, you may also want to consider this information from the R10.5 SDK documentation:

    _General

    - You need to add the dependency or API.lib. In the latter case you can either choose the lib that suits your version (Debug/Release) or just use the Release version. Using dependencies always the right choice will be made, so that's much better.

    - New include paths must be set. Instead of only api and api\c4d_preview now ..\..\resource\_api, ..\..\resource\_api\c4d_customgui, ..\..\resource\_api\c4d_libs, ..\..\resource\_api\c4d_preview, ..\..\resource\_api\c4d_scaling, ..\..\resource\_api\c4d_gv must be used.

    Visual Studio

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

    - "Enable Exception handling" in C++ tab/C++ language can be disabled for smaller code size

    - If the plugin is not directly placed in C4D's plugin folder the relative paths need to be adopted: e.g. ..\..\resource becomes ..\..\..\resource (for a deeper level). As inconvenient as the relative paths are on the PC, the big advantage is that there is only one _API folder left that is always up-to-date!_



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

    On 14/01/2008 at 14:12, xxxxxxxx wrote:

    Quote: __
    >
    > * * *
    >
    >
    > - You need to add the dependency or API.lib. In the latter case you can either choose the lib that suits your version (Debug/Release) or just use the Release version. Using dependencies always the right choice will be made, so that's much better.
    >
    > - New include paths must be set. Instead of only api and api\c4d_preview now ..\..\resource\_api, ..\..\resource\_api\c4d_customgui, ..\..\resource\_api\c4d_libs, ..\..\resource\_api\c4d_preview, ..\..\resource\_api\c4d_scaling, ..\..\resource\_api\c4d_gv must be used.
    >
    >
    >
    > * * *

    I didn't understand a single word in that paragraph. But anyway, I'm using the example SDK project as a base. Shouldn't this be all done for me? (I haven't changed anything in the plugins folder of Cinema, but just to be sure, I'm downloading another demo version from maxon.net)

    I already noticed that other thread from december, but couldn't translate this solution.



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

    On 14/01/2008 at 14:52, xxxxxxxx wrote:

    Have a look at these threads then:

    SDK Compile Errors

    and

    Getting a fatal error when compiling

    These look to be much more relevant (vis-a-vis Express Edition).



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

    On 14/01/2008 at 16:55, xxxxxxxx wrote:

    OK, I know reinstalled everything. Cinema, Visual Studio, Windows SDK, Framework.

    I still get the missing-c4d.h-file-error.

    Can somebody please send me some sort of template project (Mac or Windows) for a CommandData plugin? I simply want a project that compiles.

    This is a bit frustrating. Like if you want to cook but you can't open the cupboard with the foot :(



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

    On 14/01/2008 at 18:12, xxxxxxxx wrote:

    If you can't compile the cinema4dsdk, someone else's project won't sort it out (unless they are using the same VS version and have worked out the issues). The template project *IS* the cinema4dsdk project. The source files under plugins:cinema4dsdk:source:gui represent examples of CommandData plugins.

    I'm still thinking that there is something more that needs to be done in VisualStudio 2008 Express Edition (either during install or as a general options setting?). It might be that this edition and version won't work with the SDK - I wish that an official response would be added here I'm sure you'll agree.

    Unfortunately, my advice would be to get one of the commercial versions of VS and avoid your continued horror show. I'm not sure why you can't get the Xcode cinema4dsdk to compile on a Mac. You should be using at least MacOS X 10.3.9, Xcode 2.4.1, and have the Apple Developers Kit installed (this is required for Xcode and exists on the computer install discs, iirc). There is a "Migration to Xcode" section in the SDK documentation which MUST be followed - the required setting changes are a one time thing. And finally you may need to kick Xcode in the butt a couple times to build a release version of the cinema4dsdk plugin properly. This means not only setting the cinema4dsdk project to release but also setting the default for the api.dylib project attached to it to release as well (open the api.dylib project separately to do this more efficiently). Xcode is free but it is painful. With a commercial version of VS, you load the cinema4dsdk vcproj, build, and it works (no warnings, no errors, ready to run). That's why I don't use the Express Edition.



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

    On 14/01/2008 at 18:39, xxxxxxxx wrote:

    Sadly, my budget doesn't allow me to get the commercial version of VS right now. But I'm going to try the free trial of the 'full' version tomorrow.



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

    On 15/01/2008 at 12:31, xxxxxxxx wrote:

    OK, I donwloaded the 90-days trial version of VS 2008 Professional Edition.

    The error with the missing c4d.h file still appears. I am using the same sdk project as everybody else here, but I am the only one getting this error!?

    Here is the full error message:

    "C:(......)cinema4dsk/source/animation/blinker.cpp(9) : fatal error C1083: Cannot open include file: 'c4d.h': No such file or directory"

    I have about 27 error of this type. One for every plugin file.



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

    On 15/01/2008 at 12:36, xxxxxxxx wrote:

    UPDATE:

    Ok, seam that this IS the same problem as in this thread

    Here is the solution from Sparkle:

    > Quote: Nevermind the whole thing, I just figured it out. Apperantly the include directories were inherited from god knows where and the $(WebDeployPath) makro command was used for root location. This didn't seem to work (which I now recall seeing in the compliler optput), so I referenced all the directories again and it works fine.
    >
    > * * *
    >
    > I knew it had to something simple.
    >
    > Cheers,
    > Sparkle
    >
    > * * *

    This is Italian for me. Can somebody translate this into English for me please :)


Log in to reply