如何修复ARM Neon的Eigen中的错误

时间:2014-08-30 17:13:47

标签: c++ arm eigen neon

我正在尝试在ARM Cortex A15 arndale板上运行我的代码,而我正在包含库Eigen。代码运行成功,但是当我添加编译器选项

-mfpu=neon

在特征库中抛出错误

In file included from /usr/local/include/eigen3/Eigen/Core:293:0 :
/usr/local/include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h:55:45: 
error: missing binary operator before token "("
#if (defined(__has_builtin) && __has_builtin(__builtin_prefetch)) || defined(__ GNUC__)

如果添加-mfpu = vfpv4或-mfpu = beon-vfpv4,则不会发生同样的错误。

当我用Google搜索时,错误发现此链接

http://comments.gmane.org/gmane.comp.lib.eigen/4361

但我无法编辑Eigen文件夹,因为我在我正在使用的机器上访问受限。我可以根据链接

定义修复
#ifdef __has_builtin
#  if __has_builtin(__builtin_prefectch)
#    define EIGEN_ARM_PREFETCH(ADDR) __builtin_prefetch(ADDR)
#  endif
#endif  

在我的CMake文件中或源代码中的某处?

我还是初学者而不是C ++专家。请原谅我,如果这个问题很简单易行。

0 个答案:

没有答案