How to compile Cinder with Visual Studio 2019

How to compile Cinder with Visual Studio 2019

Introduction

I thougth I come up with a simple step by step guide on how to get the cinder compiled and ready for some playing.

I found it not so easy to find my way through, as the documentation is lacking behind, and a couple of links are broken on the website.

So here is how managed to get the library compiling.

Get Visual Studio 2019 ready

If you haven't Visual Studio 2019 installed already, goto https://visualstudio.microsoft.com and download the community edition.

After downloading and executing the setup, ensure to check the workload Desktop development with C++.

Then further goto Invidual components and install MSVC v141 - VS 2017 C++-x64/x86-BuildTools (v14.16).

Installing all the packages might take some time. Afterwards you will be prompted to reboot your machine.

Get the code

Next we want to checkout the master branch from the respective github repository. The developers explicitly suggest to download the latest master branch then relying on the pre-packeged binaries available on the download-page.

So go ahead and clone the repo into a directory of your choice:

git clone --recursive git://github.com/cinder/Cinder.git cinder_master

Compile the library

To compile the hole thing, open up proj\vc2015\cinder.sln. Visual Studio will show a prompt and wants you to retarget your solution. Skip that step by canceling the dialogue.

Next right-click to project (not the solution) within the Solution Explorer. Under Configuration Properts -> General set the following:

  • Windows SDK Version 10.0.18362.0
  • Platform Toolset: Visual Studio 2017 (v141)

Make sure to set this for both configurations (Release and Debug).

Finally choose Release and hit F5 to build. Do the same for the Debug configuration. The compilation process may throw some warnings, but should finish successfully.

Run one of the samples for testing purpose

Next open one of the samples, like samples\_opengl\Cube\vc2015\Cube.sln and retarget in the same manner as we did with library itself.

Then goto Debug -> Run and enjoy!

Conclusion

Getting into cinder does not seem to be a straight forward thing as for example p5.js seems to be. But this maybe just me, not having a strong C++ background. I hoped that helped you in some way.

Happy hacking, Matthias