I've created a ready to use CSurf project (surface controller support for REAPER) by using Microsoft Visual Studio 2013, 2015 and 2017 (Tested with the free Community Editions).
The project is available on Github:
https://github.com/Erriez/reaper_csurf_vs201x
The original "REAPER Extension SDK" is pretty old (2009) and contains build files for Visual C++ 6. I could not find documentation how to upgrade, build and debug surface controllers, so I decided to do it myself and write my own guide. It is just an upgraded project to support 32 and 64 bit REAPER (Windows) without touching the original SDK sources. I've changed only some include paths for simplicity.
I think this is a great quick-start for lots of people. I'll add more documentation about the internals of REAPER / surface controllers.
Is someone interested to add support for MAC? Volunteers are welcome to add fully tested pull-requests. (I don't have a MAC, so can't test it)
Feedback is welcome.