Как насчет просто заменить HUGE_VAL
* на *_MAX
примерно так:
HUGE_VAL => DOUBLE_MAX
HUGE_VALF => FLOAT_MAX
etc...
Вы можете определить их только для _WIN32
или просто заменить материал HUGE_VAL
* на соответствующую стандартную замену.
РЕДАКТИРОВАТЬ: MinGW-w64 (GCC) имеет эти определения, вероятно, это вещи C99 или C ++ 0x, которых нет (пока) в MSVC9. Возможно, в MSVC10 они есть, хотя в msdn, похоже, отсутствует какая-либо информация об определениях.