我正在尝试构建一个最初使用 gcc -lm ... 选项在 Linux 上构建的 C 程序,它在链接代码时使用数学库。如何在 Win32 环境下的 Visual Studio 2005 编译器的项目设置中使用相同的设置?
编辑:基本上原始 Linux 代码包括 math.h 并使用 gcc -lm 链接数学库。但是当我在 Windows 中使用它时,我得到一个编译错误:NAN :- undeclared identifier
.
我正在寻求解决这个问题。
我正在尝试构建一个最初使用 gcc -lm ... 选项在 Linux 上构建的 C 程序,它在链接代码时使用数学库。如何在 Win32 环境下的 Visual Studio 2005 编译器的项目设置中使用相同的设置?
编辑:基本上原始 Linux 代码包括 math.h 并使用 gcc -lm 链接数学库。但是当我在 Windows 中使用它时,我得到一个编译错误:NAN :- undeclared identifier
.
我正在寻求解决这个问题。
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。)