Which VisualStudio Version?

On 08/04/2014 at 13:36, xxxxxxxx wrote:

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

I`m about to transition from learning Python to C++ and looking for advice on which version of VisualStudio i should be working with.

From what i gather by using the search function, VS 2013 isnt supported as such, but i cant find any concrete idea of which version is.  The C++ SDK docs just say anything newer than 2005..

Next question is - is it reasonable to use the Express version?  For example VS 2010 Express or VS 2012 Express?

Thanks for any advice.

On 08/04/2014 at 16:46, xxxxxxxx wrote:

VS 2010 is best for pre-R15, otherwise VS 2012.  You can use the Express versions but you will need to install the Windows 7.1 SDK (and select that in your Project settings) in order to be able to build 64-bit plugins.  32-bit plugins work without this requirement.

On 09/04/2014 at 03:56, xxxxxxxx wrote:

Hi Robert,

Thanks for the advice, much appreciated!

Im using Express as its free and for the time being just learning.

Theres no 2012 Express version i dont think, only either 2010 Express or 2013 Express.

Without thinking i downloaded and installed the latest version ( 2013 Express ) - Is that likely to give me problems compiling etc?

On 09/04/2014 at 04:26, xxxxxxxx wrote:

I was and am using VS 2012 for all versions starting with R12. Never encountered a problem.

On 09/04/2014 at 05:50, xxxxxxxx wrote:

I think i might have to roll back from VS 2013 Express to 2010 Express as i`m getting a bunch of mismatch errors similar to the following when trying to compile:

LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1800' in main.obj

C:\Program Files\MAXON\CINEMA 4D R14\plugins\TestPlugin\_api_Win32_Debug.lib(c4d_memory.obj)

Actually could this be because i compiled SDK in version VS 2010 before i installed 2013 Express?

On 09/04/2014 at 06:03, xxxxxxxx wrote:

yes, you need to rebuild the api lib when changing IDE versions (due to the updated compiler).

On 09/04/2014 at 07:26, xxxxxxxx wrote:

I had problems trying to build the lib in 2013 so just rolled back to VS 2010 Express and my plugin is compiling fine..

Thanks for the help folks.

Might be interested to find out what i need to do to compile in 2013 for future reference but that can wait.

On 09/04/2014 at 07:59, xxxxxxxx wrote:

I think you can use VS2013 for R14 & R15 if you also have VS2012 installed on your computer.
When I tried to compile the R15 demo with VS2013. The error it gave me was that the Platform Toolset was the wrong version. Because Maxon does not currently support the VS2013 toolset yet.
Since there's no way in hell I'm installing VS2012. I never went any farther with it.
But I've heard others say that it worked.

I'm quite happy with VS2010.
And I won't be using anything higher until Maxon natively supports VS2013.


On 09/04/2014 at 08:10, xxxxxxxx wrote:

The advantage of 2012 is that you have much better support for C++11. Other than that 2010 is just fine as well (used it before too).

On 09/04/2014 at 09:25, xxxxxxxx wrote:

We're currently caught in one of the painful transitions.
IMHO. The down sides and hassles of using 2012 outweigh the small gains we get from C++11.

Asking C4D users below R15 to install C++ Redistributable Packages is a huge "No Way!" in my book.
Plus VS2012 was quickly changed by MS after only one year. It reminds me of the WindowsME mess.
And as far as I'm concerned. It never existed.

VS2010 is still the most hassle free, backwards compatible, version to write C++ plugins.
I will eventually upgrade someday when it makes more sense to do so.
But when I do. It will be to the latest version. Not to the ME version of VS.

This is probably a sign of my old age.
But I don't like change. If that change comes with hassles.
When I find something that works well for me (VS2010). I tend to stick with it for as long as I can until I'm forced to change.


On 09/04/2014 at 10:36, xxxxxxxx wrote:

Hmm, what hassles are you exactly talking about? Can you elaborate? I have no problems whatsoever, I am using advanced C++ features extensively (metaprogramming, templates etc.), use libs, use it for all my developement and I never had a single user complaining about redistributable packages or anything else specific to 2012.

Also VS2013 was nothing more but some improved C++11/C99 Iso standard support (that's where the issues with 2013 come...some code may need to be changed), some application performance improvements, C++ Library improvements (AMP textures,PPL) and Windows Store app additions.
No real compiler changes or IDE changes, so anything far from "change" or similar. It is 2012 with some C++ standard improvements (that's also the hook for that version). So I am not sure what you are refering to :confused: Can you elaborate what you mean?

On 09/04/2014 at 12:54, xxxxxxxx wrote:

Users using Vista and Xp (possibly early Win7?) need to install redistributable packages to run plugins written with VS2012 and most likely VS2013.
I'm a Vista user and I've seen it first hand myself.
All I can guess is none of your users are using these older OS versions?

It might seem like a small thing as a developer. But many users can't, or don't want to, install those packages. It's the kind of thing that really scares some people away.
VS2010 code can be run on those older versions without forcing people to install those packages.
And it also runs just fine in R14 & R15. So there's no good reason for me to change at this point.

The C++11 things I would get are not important enough to me to warrant forcing the plugin users to install extra stuff they might not want to install on their computers.
And when I do eventually upgrade. It won't be to a version of VS that's already been upgraded. That just makes no sense to me at all.
So I'm waiting at least until C4D can be complied natively with VS2013.
I need more incentives than just  the C++11 stuff for me to inconvenience the users with older OS versions.

Right now VS2010 is the safest, most backward compatible, least painful version for me to use.
So I'm sticking it for at least another year or so.


On 13/04/2014 at 01:58, xxxxxxxx wrote:

I see. yeah, it might be true that none of my customers is still using the older OS, so I probably got lucky.

And sure, 2010 is still a good one and if C++11 is not of much concern you are probably fine sticking with it (though the compiler improvements and code-optimizations that come along with 2012 would be a point).

On 13/04/2014 at 02:06, xxxxxxxx wrote:

Originally posted by xxxxxxxx

I see. yeah, it might be true that none of my customers is still using the older OS, so I probably got lucky.

I completely moved  to win8-8.1 x64. Several times i started topics to support winXP x86 at dpit(navie) forum.

And i'm using vs2012 for compilation if will need

On 13/04/2014 at 03:25, xxxxxxxx wrote:

Originally posted by xxxxxxxx

Originally posted by xxxxxxxx

I see. yeah, it might be true that none of my customers is still using the older OS, so I probably got lucky.

I completely moved  to win8-8.1 x64. Several times i started topics to support winXP x86 at dpit(navie) forum.


When did you post such a topic? Certainly not in our forums. Can you point me to it?
I just re-searched our forums. Not a single thread contains anything about Windows XP. Also I searched all the threads you participated in (http://www.dpit2.de/community/search.php?author_id=492&sr=posts) and not a single one is about windows xp (or any other win version) so I am not sure what you are referring to.

You did get problems with redistributables? I also searched for that in our forums (and your started threads) but also no sign of anything dealing with such an issue (or anything similar).

And no 32-Bit versions are simply not supported anymore. It makes no sense for Effex to run in 32-Bit that's why we dropped it 2 or 3 years ago. We made a big announcement on our website and all customers were accordingly notified.

On 13/04/2014 at 03:33, xxxxxxxx wrote:

Hi Samir
I'm sorry for that post, maybe at cgsociety. Or i made mistake maybe at Remotion forums.

On 13/04/2014 at 03:35, xxxxxxxx wrote:

ah ok. I just thought I was going crazy :)

On 13/04/2014 at 13:39, xxxxxxxx wrote:

Given the mentioned improvements to the compiler and C++, its a shame there isnt a 2012 version of Express..  Theres a 2013 Express but think id rather wait until Maxon switches support over to that..

On 16/04/2014 at 17:25, xxxxxxxx wrote:

Yes, you can use "Visual Studio Express 2013 for Windows Desktop" for C4D development.

I switched to it myself and compiled plugins for every C4D Version from R9.6 up to R15 with its native "Visual Studio 2013 (v120)" platform toolset for Win32 and x64 (for R15 x64 only of course because there is no more 32 bit version of c4d now)!
And it's really great that VS 2012 and VS 2013 finally have the x64 compilers included out of the box too. :sunglasses:

The only (very small) obstacle I stumbled across when I compiled the api libraries for R14 was, that somehow the output path was missing in the project settings. But after I set that for all configuration/platform combinations myself it worked as flawless as with every other C4D version.

By the way, of course there is an express version of VS 2012. :slightly_smiling_face:
If it isn't available from there official Visual Studio website any more I guess they just dropped it as VS 2013 was released.
And in fact I also don't see a benefit for VS 2012 over VS 2013. :wink:

I guess the main reason why they still offer the VS 2010 Express versions is because each coding language was a separate package there and now it's an all in one solution up from VS 2012.
And they had some significant changes in the IDE and feature sets (some even have been dropped :confused:).

But you scan still find VS 2012 Express here if you really want:
Microsoft Visual Studio Express 2012 for Windows Desktop (english version)
Microsoft Visual Studio Express 2012 für Windows Desktop (german version)