2

我正在尝试构建一个最初使用 gcc -lm ... 选项在 Linux 上构建的 C 程序,它在链接代码时使用数学库。如何在 Win32 环境下的 Visual Studio 2005 编译器的项目设置中使用相同的设置?

编辑:基本上原始 Linux 代码包括 math.h 并使用 gcc -lm 链接数学库。但是当我在 Windows 中使用它时,我得到一个编译错误:NAN :- undeclared identifier.

我正在寻求解决这个问题。

4

1 回答 1

0

Visual C++ 2005 不包含NAN. 你可以这样定义它:

#ifdef WIN32
    #ifndef NAN
        static const unsigned long __nan[2] = {0xffffffff, 0x7fffffff};
        #define NAN (*(const float *) __nan)
    #endif
#endif

(我从Tom Distler 的这篇博文中获得了代码。感谢 Tom。)

于 2012-11-20T17:43:04.803 回答