Visual Studio - 64Bit Plugins [SOLVED]
-
On 06/08/2014 at 08:39, xxxxxxxx wrote:
User Information:
Cinema 4D Version: R14
Platform: Windows ;
Language(s) : C++ ;---------
Okay, ive successfully managed to get myself comfortable with developing C++ plugins for Cinema4D within VisualStudio ( i
m using 2010 Express ) however have now come to the hurdle of moving from a 32-bit only VS setup to hoping to compile for x64.Any hints as to what i have to do to get visual studio compiling properly for 64-bit C4D?
I have been through the microbion tutorials ( thanks for those btw! ) which helped infinitely in getting started up in VisualStudio, but one way or another i could not configure my setup for x64. From memory i think that basically the ConfigurationManager in VS did not have the option of Win64 under solution platform.. I also think this might be because i need to do something to the config/setup of VS Express to get it running 64bit..
I was warned initially that the older versions of VisualStudio ( ie 2010 ) do not support x64 out-of-the-box but really when targeting C4D it is not an option to go with latest versions without advanced knowledge of compiler options etc.
Any help / advice / random pictures of a badger appreciated!
-
On 06/08/2014 at 14:52, xxxxxxxx wrote:
You need to install the 64-bit compiler which basically means installing the Windows SDK. This MSDN page tells you what you need to know:
http://msdn.microsoft.com/en-us/library/9yb4317s(v=vs.100).aspxSteve
-
On 06/08/2014 at 14:54, xxxxxxxx wrote:
With the express version of vs2010 you'll need the Windows SDK 7.1 and a lot of patience for 64bit compiles.
It's fiddly, brittle and pretty much not worth the effort in my opinion. 2012+ compile 64bit out of the box. you can still install the platform sdk and compile for 2010 runtime targets if you need to.
-
On 06/08/2014 at 17:10, xxxxxxxx wrote:
Noticeably longer compile times with the Win SDK x64 Compiler? Can't confirm.
-
On 06/08/2014 at 20:13, xxxxxxxx wrote:
Same here. I have zero problems with 64-bit compiles using VS2010 Express and the Windows 7.1 SDK.
-
On 07/08/2014 at 03:31, xxxxxxxx wrote:
Thanks folks i`ve had a couple of issues i think with the order that things have to be installed but redoing the process now and hopefully get it right this time.
I think the issue was that SP1 has to be applied to VS Express 2010 before installing the 7.1 SDK otherwise the new compiler won
t take. There was a note on the above link that said installing the compiler patch would fix that but didn
t work for me so basically i`ve removed the additional stuff and redoing the process.Also not sure why Windows hadn`t already installed the service pack automatically to VS Express as it should go through windows updates i think..
Will post back with how i get on.
-
On 07/08/2014 at 04:55, xxxxxxxx wrote:
Eclectrik, yes, order of installation is important. Definitely follow the best instructions available online. I think that installing VSExpress, all service packs, and then the Windows 7.1 SDK is the best recommended order. Make sure that Windows 7.1 SDK is an option (and set) in the Project settings when changing to a 64-bit build.
-
On 08/08/2014 at 05:13, xxxxxxxx wrote:
I managed to get the sdk installed for x64 but having problems trying to compile the sdk to get the _api_x64_ lib file..
When i try and open the solution in VS 2010 Express it is sticking on
Please wait while project information is being collected
.It opens and builds fine in VS Express 2013, but i get the _MSC_VER not matching error when using the generated lib in 2010. I had this problem before and managed to build it in 2010 but not this time..
[EDIT]
Damnit! I got around that issue..
In VS 2013 Express, i`d tried setting the PlatformToolset to different things, Windows7.1SDK / V100 / etc, thinking that would solve the _MSC_VER error when using the lib in version 2010. The problem was i was setting the PlatformToolset just for the SDK properties inside the solution and not also for the API. So, setting to the API to 7.1SDK generated a compatible lib.. Duh!