<cmath>Xcodeにインクルードする小さくて単純なプロジェクトをビルドしようとすると、次のエラーが発生します。
cmath: '*' has not been declared
'::acos' has not been declared
In file included from /Xcode4/Projects/libraryLAFMath/Classes/libraryLAFMath.cp
In file included from /Xcode4/Projects/libraryLAFMath/Classes/libraryLAFMath.h
'::acos' has not been declared in /Xcode4/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.1.sdk/usr/include/c++/4.2.1/cmath
...
sinエラー ログは、 だけでなく、pow、 など、他のすべての数学関数についても文句を言いますacos。ソースコードの内部を調べcmathたところ、グローバルに定義された対応する数学関数を参照しています。math.h が見つからないという別のエラーが発生します。math.h::acos::acosmath.h
ソースコードは次のとおりです。
ライブラリLAFMath.cp:
#include "libraryLAFMath.h"
ライブラリLAFMath.h:
#include <cmath>
struct libraryLAFMath {
void test() {
double a = std::acos(0);
}
};
今、私は外部ソースからの別のプロジェクトを使用cmathしてコンパイルしています。これら 2 つのプロジェクトのビルド設定を比較してみましたが、ほとんど同じです。私はLLVM GCC 4.2コンパイラを使用していますが、GCC 4.2を使用すると同様の結果が得られるため、コンパイラ設定の問題ではないと思います。
私は Xcode 開発に不慣れで、助けていただければ幸いです。