私は行列を作成する画像処理アルゴリズムを持っています。私は自分の行列演算コード(乗算、逆数...)を持っています。しかし、私が使用しているプロセッサはARM Cortex-A8プロセッサで、ベクトル化用のNEONコプロセッサがあります。マトリックス操作はSIMD操作の理想的なケースであるため、コンパイラ(-mfpu = neon -mfloat-abi = softfp)にNEONを生成するように依頼しました。私のコードの命令ですが、コンパイラーはそうすることができず、Matrix操作用に独自のNEON組み込みコードを書き込もうとしましたが、それを行うのは非常に困難でした。
そこで、行列演算のベクトル化を約束する固有ライブラリを利用することを考えました。そこで、すぐにEigen C ++ライブラリをダウンロードして、チュートリアルのとおりに使用してみましたが、残念ながら、サンプルプログラムを実行するとコンパイルエラーが発生します。
Eigenの使用経験がある人は誰でも、どんな例が本当に役に立ちますか?親切にそれについて行く方法を私に助けてください。
ヘルプ!
ありがとう
/ home / ubuntu / Documents / eigenにEigenフォルダーがあります。このパスは、EclipseのC++プロジェクトの追加ディレクトリに設定します。次に、次のプログラムを実行します(例)-
#include <Eigen/Core>
// import most common Eigen types
USING_PART_OF_NAMESPACE_EIGEN
int main(int, char *[])
{
Matrix3f m3;
m3 << 1, 2, 3, 4, 5, 6, 7, 8, 9;
Matrix4f m4 = Matrix4f::Identity();
Vector4i v4(1, 2, 3, 4);
std::cout << "m3\n" << m3 << "\nm4:\n"
<< m4 << "\nv4:\n" << v4 << std::endl;
}
私が得るエラー-
プロジェクトTest_Eigenの構成デバッグのビルド****
すべて作る
ビルドファイル:../ main.cpp
呼び出し:Sourcery G ++C++コンパイラ
arm-none-linux-gnueabi-g ++ -I / home / ubuntu / Documents / eigen -O0 -g3 -Wall -c -fmessage-length = 0 -fcommon -MMD -MP -MF "main.d" -MT "main .d "-mcpu = cortex-a8 -marm -o" main.o "
"../main.cpp"
../main.cpp:6:エラー:'int' makeの前にコンストラクタ、デストラクタ、または型変換が必要です:***[main.o]エラー1