On Windows, ___USE_LABEL_VALUES isn't defined. If you read through the code you can see an #ifdef at line 3115 and the #else at line 3167. Just after the "else" you can see that ___BEGIN_SW is #defined, and that it references ___REGISTER_HOST_ENTRY. The problem is that ___REGISTER_HOST_ENTRY isn't ever #defined along this code path.
One solution--the one I used--is to add
#define ___REGISTER_HOST_ENTRY
at line 3176. The other (and probably better) option, I think, is to remove ___REGISTER_HOST_ENTRY from the __BEGIN_SW #define.
I'm trying to compile Gambit under Visual Studio. Would you be interested in the solution (.sln) files since the existing project files are pretty old?