2

問題はAppleのLLVM3.1コンパイラの使用に関係している可能性があり、NEONを無効にすることで修正できると確信しています。ただし、NEONを使用したいと思います。

また、これはXCodeでのセットアップのエラーですが、Appleの場合もあります。本当に私は正しい方向へのいくつかのヒントを求めています。

/Eigen/src/Core/util/Macros.h
188:Unknown type name 'namespace'
188: Expected ';' after top level declarator

/Eigen/Core
144:'cerrno' file not found

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/3.1/include/arm_neon.h
55: Unknown type name 'float32_t'

この欠落したfloat32_tエラーは、そのファイル内のすべてのインスタンスで発生します。33行目でもtypedefは明確に実行されています。

更新: 強制#define EIGEN_NO_DEBUGすると、残っている唯一のエラーは欠落しているcerrnoです。実際、すべてのcXXXライブラリが欠落しているようです(たとえば、cstdlib)。それでも、私がEigenの外にそれらを含めると、それらは機能します。

4

1 に答える 1

4

コメントで述べたように、問題は、ソースコードがObjective-C++ではなくObjective-Cとしてコンパイルされていたことでした。これを修正すると、問題が修正されました。

特に、ファイル(main.m)の名前が(main.mm)に変更されていないことが原因です。ファイルの名前を.mmに変更して、ObjC ++(clang ++)を使用する場合は、すべてのファイルを取得するようにしてください。

于 2012-05-23T01:10:23.847 に答える