Compiling for multipes platformes and versions



  • On 15/11/2015 at 02:26, xxxxxxxx wrote:

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

    ---------
    Hi there,

    I wondering myself how do you compile for previous version of Cinema 4D ? If I use R17's SDK my plugin won't show up on previous version. It's normal you'll tell me.

    And same question, if I want to compile for Mac OS X and previous version should I use Xcode and a MAC ?

    I'm currently on Windows 7/8/10 with Visual Studio Express Desktop 2013

    Best compatibility will for Cinema 4D R17-16-15 WIN/MAC

    Many thanks in advance for any help :-)



  • On 15/11/2015 at 05:26, xxxxxxxx wrote:

    To get your plugin to run in earlier versions of Cinema you will need to compile it with the SDK from that version. Presumably you already have earlier versions of C4D as you say the R17 build of your plugin won't run in earlier releases. But you don't always need to compile it for all supported versions. For example, if you want to release your plugin for R15 and up, build it first for R15 and you may well find that it will run in R16 and R17 too, so you won't need to recompile it for those releases.

    If you want to include a Mac build as well, you will need a Mac and Xcode to compile it with. Xcode is free and comes complete with the joy of compiling plugins within a really bad (IMO) development environment.

    Steve



  • On 15/11/2015 at 05:37, xxxxxxxx wrote:

    Thanks for your reply ! Perfect answer 😉

    It's a bit problematic for me to get a Mac for compile. But I think there is no possibility to compile it for both platforms in the same time !



  • On 15/11/2015 at 06:37, xxxxxxxx wrote:

    Originally posted by xxxxxxxx

    Thanks for your reply ! Perfect answer 😉It's a bit problematic for me to get a Mac for compile. But I think there is no possibility to compile it for both platforms in the same time !

    You can't compile just on one OS to get a build for different platforms when you want to target C++.

    You might try to ask around if someone here is willing to offer you the opportunity to compile though - the guys here are great and I've seen it several times in the past that someone offered help.

    Xcode (contrary to Visual Studio) has a complete C++ standard compliant implementation and meaningful error messages that will report warnings or errors for buggy code, which otherwise might somehow pass the MSVC compiler.

    Best regards,

    Wilfried



  • On 16/11/2015 at 03:48, xxxxxxxx wrote:

    Hehe, I'm going to disagree with you there Wilfried. Xcode may be a better compiler, I'm not qualified to judge, but as a user experience it falls well short IMO. The editor is odd and seems flaky to me, Visual Assist X is VS-only and I don't like to code without that, and error messages don't seem clear to me at all. Especially linker errors, they are totally impenetrable.

    But in the end we all have to use both anyway, so it comes down to personal preference I guess, which one you use for primary development.

    Steve



  • On 16/11/2015 at 05:01, xxxxxxxx wrote:

    Originally posted by xxxxxxxx

    Hehe, I'm going to disagree with you there Wilfried. Xcode may be a better compiler, I'm not qualified to judge, but as a user experience it falls well short IMO. The editor is odd and seems flaky to me, Visual Assist X is VS-only and I don't like to code without that, and error messages don't seem clear to me at all. Especially linker errors, they are totally impenetrable.

    But in the end we all have to use both anyway, so it comes down to personal preference I guess, which one you use for primary development.

    Steve

    You'd have to pick the right tool for the job - as always; I think it helps and improves your product when you're familiar with more than one development environment:

    - You have an easy debugging job (need to watch some variables, etc.) : use MSVC
    - Need to debug very custom code and data structures: Think about extending the python based debugging in Xcode
    - Have to fix 40000s warnings in several thousand files: Use Xcode due to shear compile speed, better warnings (and the ability to check your code for warnings before you do a full compile)
    - Need to look at the bare metal of your gpu: Use MSVC with the tools offered by gpu vendors
    - Need static code analysis to find logic erros in your code: Use Xcode instead of shelling out several thousand dollars for MSVC 3rd party tools.
    ...

    If you're creating a lot of templates code, the advantages of Clang (Xcode) or gcc over MSVC should be obvious. The later one usually creates dozens of misleading error messages (if its able to properly handle c++ compliant template code at all). Regarding linker messages: Usually looking at the output of the of linker should give you enough hints to see what was going on.

    Best regards,

    Wilfried



  • On 16/11/2015 at 07:27, xxxxxxxx wrote:

    Hi,

    I just want to add a link to our C++ SDK page, where you find the different IDE versions for different C4D SDKs.


Log in to reply