gpt4 book ai didi

c++ - 如何使用线性代数的C++模板库Eigen?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:06:11 24 4
gpt4 key购买 nike

我有一个由矩阵组成的图像处理算法,我有自己的矩阵操作代码(乘法、逆...)。但我使用的处理器是 ARM Cortex-A8 处理器,它有用于矢量化的 NEON 协处理器,因为矩阵运算是 SIMD 运算的理​​想情况,我要求编译器(-mfpu=neon -mfloat-abi=softfp)生成 NEON我的代码的指令,但编译器没有这样做,然后我也尝试为 Matrix 操作编写我自己的 NEON 内在函数代码,但我发现这样做很难。

所以,我想到了利用 Eigen promise 矩阵运算向量化的库。因此,我立即下载了 Eigen C++ 库,并尝试按照他们的教程中的说明使用它,但不幸的是,当我运行他们的 example programs 时,我遇到了编译错误 .

任何有使用 Eigen 经验的人,任何例子都会真正有帮助吗?请帮助我如何去做。

帮助!

谢谢


我的 Eigen 文件夹位于:/home/ubuntu/Documents/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

最佳答案

USING_PART_OF_NAMESPACE_EIGEN 宏是 removed在 Eigen 3 中。相反,只需使用

using namespace Eigen;

显然,该教程已过时。

关于c++ - 如何使用线性代数的C++模板库Eigen?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3257062/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com