我有一个矩阵的图像处理算法,我有自己的矩阵运算代码(乘法,逆…).但我使用的处理器是ARM Cortex-A8处理器,它有NEON协处理器进行矢量化,因为矩阵运算是SIMD操作的理想情况,我要求编译器(-mfpu = neon -mfloat-abi = softfp)生成NEON我的代码的说明,但编译器没有这样做,然后我也尝试为Matrix操作编写自己的NEON内在函数代码,但我发现很难这样做.
所以,我想到了使用Eigen库来承诺矩阵运算的矢量化.所以我立即下载了Eigen C库,并尝试在他们的教程中使用它,但不幸的是,当我运行他们的example programs时,我得到了编译错误.
那些有使用Eigen经验的人,任何例子都会非常有用吗?请帮助我如何去做.
救命!
谢谢
我有Eigen文件夹:/ home / ubuntu / Documents / eigen我在Eclipse的C项目的其他目录中设置了这个路径.然后我运行以下程序(示例) –
#include
// 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;
}
我得到的错误 –
构建配置Debug for Project 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