Xcode build of R13 in Xcode 6.1 [SOLVED]
-
On 14/02/2015 at 22:18, xxxxxxxx wrote:
User Information:
Cinema 4D Version: R13
Platform: Mac OSX ;
Language(s) : C++ ;---------
What do I need to change to build the cinema4dsdk of R13 on Yosemite with Xcode 6.1? The error(s) given is:'Unable to create directory: /(build) Permission Denied'
I have changed permissions on the folders under Applications but this has not changed anything.
What else needs to be done?
-
On 15/02/2015 at 09:43, xxxxxxxx wrote:
I have sort of resolved that issue, but there are cascading issues from the api_lib all the way up. Every time I fix one issue, more crop up. Is it even possible to build for R13 on Yosemite seeing that it does not support Xcode 5, 4, 3, 2, 1, 0, only 6? Suggestions, links, long lists of ways to make this work? Anybody know anything?
-
On 16/02/2015 at 12:58, xxxxxxxx wrote:
Hi Robert,
Sorry to tell you this, but you have to stick to what works together in terms of compiler versions and Cinema 4D releases. Here's a
chart on our development support blog site
[URL-REMOVED], but as you'll see, R13 was compiled with XCode 3.2.6.If you don't stick to the compiler used (whether for Windows or Mac), you run the risk of it not ever working even if you resolve all the initial issues yourself (compiler warnings, etc.), or worse, it appearing to work but then eventually encountering strange issues (random crashes, garbled data, critical parts not working, etc.). The magnitude and severity usually vary by how many versions up you drift from the proper one.
You can't fight it either, only if the newer compiler offers to target the older compiler and linker explicitly in its settings, which recent Visual Studio versions tend to offer, but then usually only one version back. I know it's frustrating bad news, but it's the combined results of the companies that supply the compilers that impose this situation (Apple and Microsoft), which is outside of Maxon's control. The high frequency of the compiler upgrades coupled with the OS updates and blocking older compiler versions, the nature of the changes from one version to the next (especially C++11 changes), means you have to keep everything up to date and in sync, or fall behind.
BTW, there are no 'clever tricks' or any other hocus pocus that will work. In terms of SDK support, we cannot support non-conforming combinations, and officially don't support any further back than the current version (R16 as of this writing).
Joey Gaspe
SDK Support Engineer
[URL-REMOVED] @maxon: This section contained a non-resolving link which has been removed.
-
On 16/02/2015 at 18:53, xxxxxxxx wrote:
This is about where I expected this to go. Problem is that I had someone build the Mac version of one of my plugins for me when I didn't have a Mac available. And it is not working in most situations (maybe newer Macs have something to do with it?).
It is sad that we are sacrificing older version support in this process. I still make sales on versions of C4D back to R13 to this day. Just because the OSs, IDEs, and C4D have all moved to this point doesn't mean that the general customer base out there is running the latest of everything, unfortunately.
Well, I guess my next update of the plugin will need to be R16+ only.
By the way, since R16 is using Xcode 5 and Yosemite, from all my readings, doesn't support anything but Xcode 6, will that cause issues if I must use 6 to build R16 plugins?
Thanks!
-
On 16/02/2015 at 19:56, xxxxxxxx wrote:
Hi Robert,
Although I'm mostly a Windows dev, picking up on Mac development (or really, anything Mac) only recently, some things are in common in terms of C++ compilers and the theory behind it all.
Unfortunately, whoever built it for you on Mac probably used the wrong compiler version, even if they had little or no issues to fix to get it to compile and link. That it's not working in most situations (even if not all) sounds about right, as something is probably out of alignment across the DLL interfaces, probably between your plugin and C4D.
Newer Macs are mostly the issue if it's due to newer software on them, especially the operating system, and perhaps any drivers that come with them. It's certainly not the hardware directly.
The problem with older version support is that it becomes too costly to maintain it, even for just a few versions back. The complexity of keeping older OS, compiler, and supporting systems and software in place makes it a heavy burden. I know not everyone can keep up, but we can't stay static either, so we're forced forward. The benefit is that the compilers and OS upgrades usually come with some improvements that help C4D and hence the customer (new optimizations, etc.)
You'd have to either dual boot a computer with different OS versions, use OS virtualization, and/or have separate systems set up with the different working combinations. I know none of that is fast to setup, easy to maintain, or cheap, but it's what companies do to support software several versions back.
Otherwise, R16+ is the way to go.
I've actually heard Xcode 5 can work somehow on Yosemite, but you may be right that it's limited to 6, as I've only used 6 on it. Yes, it's likely to cause issues to use 6 to build R16 plugins, even if I'm only guessing. Brand new OS versions always have a 'bleeding edge' issue in terms of support.
Joey Gaspe
SDK Support Engineer -
On 17/02/2015 at 00:12, xxxxxxxx wrote:
Originally posted by xxxxxxxx
This is about where I expected this to go. Problem is that I had someone build the Mac version of one of my plugins for me when I didn't have a Mac available. And it is not working in most situations (maybe newer Macs have something to do with it?).
It is sad that we are sacrificing older version support in this process. I still make sales on versions of C4D back to R13 to this day. Just because the OSs, IDEs, and C4D have all moved to this point doesn't mean that the general customer base out there is running the latest of everything, unfortunately.
Well, I guess my next update of the plugin will need to be R16+ only.
By the way, since R16 is using Xcode 5 and Yosemite, from all my readings, doesn't support anything but Xcode 6, will that cause issues if I must use 6 to build R16 plugins?
Thanks!You can build R16 with Xcode 5.0 and newer. Xcode 6.x can produce slightly faster code (and has more C++14/C++17 additions as well as some bug fixes), but that 's it.
Regarding the installation of older Xcode versions: Googling will reveal some pages that show you how to circumvent Apple's installer limitations.
The other possibility is when you upgrade your OS (from 10.6 -> 10.7 -> 10.8, ...) instead of making a clean install, had the older Xcode versions installed for these particular OS versions installed _and_ made sure these are separate installs (of Xcode) that aren't overwritten by Xcode updates from the App Store. There 's no guarantee that these compiler version will work without any glitches, but usually they remain fully functional (we've Xcode 4.x, 5.0.x, 5.1x, 6.0x, 6.1x running on Yosemite).
If you don't want to go this route then these are your options:
- If your Mac supports it, create a different partition for an older OS
- if your Mac doesn't support it, run older OS X versions in a VM; for OS X 10.5, 10.6 you'd need the server version, but for newer OS X version you can virtualize the desktop versions too.
- Try adapting the older sdk projects for the newer compiler. Takes the most effort and will also require the older OS X sdk libs and frameworks (OS X 10.10. doesn't include the sdk frameworks for 10.6, etc. - if you have a Xcode 3.2.x installation, you can copy it into your OS X 10.10 installation).Hope that helps.
Best regards,
Wilfried
-
On 24/02/2015 at 07:40, xxxxxxxx wrote:
Hi Robert,
I'd like to know if our responses covered all your questions?
Joey Gaspe
SDK Support Engineer -
On 24/02/2015 at 16:36, xxxxxxxx wrote:
Yes, thanks.
-
On 26/02/2015 at 07:23, xxxxxxxx wrote:
Hi Robert,
Thanks for letting us know! I'll close the topic as solved.
Joey Gaspe
SDK Support Engineer