<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
::acos
math.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 開発に不慣れで、助けていただければ幸いです。