私は、過去に Windows マシンでコンパイルされた多数の個別の .cpp および .h ファイルで構成される大規模なプロジェクトに取り組んでいます。今、私はこのプロジェクトを MacBook Pro に持っています。すべてのファイルをプロジェクトに追加し、ソリューションを構築するのに時間を費やしました。
以下を除くすべてのエラーを削除することができました。ファイル cmath.cpp には、関数 abs に問題があるようです。この問題は、次のコードで発生します。
// abs
#if !defined(_AIX)
inline _LIBCPP_INLINE_VISIBILITY
float
abs(float __x) _NOEXCEPT {return fabsf(__x);}
inline _LIBCPP_INLINE_VISIBILITY
double
abs(double __x) _NOEXCEPT {return fabs(__x);}
inline _LIBCPP_INLINE_VISIBILITY
long double
abs(long double __x) _NOEXCEPT {return fabsl(__x);}
#endif // !defined(_AIX)
#ifndef __sun__
具体的には、ライン
abs(double __x) _NOEXCEPT {return fabs(__x);}
ソリューションのビルド中に次のエラー メッセージが返されます。
「宣言がスコープ内の宣言を使用するターゲットと競合しています」
どうすればいいの?math.cpp 関数は、作成者によって過去にテストされています。それで、ここで何が起こっているのですか?