У меня вопрос о том, как связаны константы, определенные в math.h.
В Visual Studio 2010 я создаю 64-битную библиотеку dll c ++ с MD, которая использует стороннюю библиотеку, использующую HUGE_VAL. Из заголовка "math.h" кажется, что "HUGE_VAL" определен как "_HUGE". Когда я пытаюсь собрать, возникает ошибка компоновки
ошибка LNK2001: неразрешенный внешний символ _HUGE
После некоторого поиска в Google, я думаю, _HUGE должен быть определен в msvcrt.lib. MSVCRT.lib связан, но я не связывал libcmt.lib, потому что это может привести к ошибкам переопределения.
Меня удивляет то, что когда я создаю простую консольную программу, которая использует HUGE_VAL и использует / verbose в качестве опции компоновщика, она показывает, что _ IMP _HUGE связаны.
Что меня действительно интересует, так это на каком этапе _HUGE превращается в _ IMP _HUGE? Кроме того, кто-нибудь еще получил неразрешенную ошибку _HUGE и есть у кого-нибудь какие-либо идеи относительно того, как это можно исправить?
Спасибо за чтение длинного вопроса и за любые идеи.