If you build R21 SDK as it is in VS2017, an error will occur and you will not be able to build.
1> Looking for source files in C: \ sdk21 \ frameworks \ core.framework ...
1> register.cpp
1> c: \ sdk21 \ frameworks \ core.framework \ generated \ hxx \ interfacetemplate2.hxx (209): error C3861: 'PrivateGetInstantiationId': identifier not found
1> c: \ sdk21 \ frameworks \ core.framework \ generated \ hxx \ interfacetemplate2.hxx (209): error C3861: 'PrivateGetInstantiationSourceName': identifier not found
1> c: \ sdk21 \ frameworks \ core.framework \ generated \ hxx \ interfacetemplate2.hxx (213): error C3861: 'PrivateGetInstantiationId': identifier not found
1> c: \ sdk21 \ frameworks \ core.framework \ generated \ hxx \ interfacetemplate2.hxx (400): error C3861: 'PrivateGetInstantiationId': identifier not found
1> c: \ sdk21 \ frameworks \ core.framework \ generated \ hxx \ interfacetemplate2.hxx (400): error C3861: 'PrivateGetInstantiationSourceName': identifier not found
1> c: \ sdk21 \ frameworks \ core.framework \ generated \ hxx \ interfacetemplate2.hxx (404): error C3861: 'PrivateGetInstantiationId': identifier not found
1> Build of project "core.framework.vcxproj" finished-failed.
The Project Tool used was the Project Tool for Cinema 4D R21, and the sdk.zip that came with R21.026 was used.
How can this be solved?