При попытке компиляции GLFW с помощью Visual Studio 2010 я получил ошибку, что «LNK2019 ошибка: неразрешенный внешний символ _fmax ссылка в Error 3 error LNK2019: unresolved external symbol _fmax referenced in function _star F:\Dev\PROGS\GLFW\build\tests\cursor.obj cursor
Но, как я слышал, Visual Studio не поддерживает c99 .Затем, что Обходной путь к этому вопросу?Fmax и Fmin альтернатива в c89
1
A
ответ
2
Как вы сказали, эти функции были добавлены в C99 и C++ 11. Компилятор Microsoft C не поддерживает C99, но более поздние версии компилятора C++ do поддерживают C++ 11. в комплекте с Visual Studio 2013 будут иметь эти функции. Я не уверен, что они могут использоваться, когда вы компилируете код C или нет.
Если вы застряли в старой версии компилятора, например VS 2010, тривиально реализовать эти функции самостоятельно. Поместите их в заголовок совместимости с MSVC:
#ifdef _MSC_VER
#define INLINE __inline
INLINE double fmax(double left, double right)
{ return (left > right) ? left : right; }
INLINE double fmin(double left, double right)
{ return (left < right) ? left : right; }
#endif