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 に答える