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.
Debug -> Run and enjoy!
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