2011-10-12 146 views
1

我是ARM的新手。我试图交叉编译opencv 2.3.1为ARM9板与Linux 2.3 生成cmake文件后,当我让我得到的错误如下交叉编译opencv for arm

桌面/ opencv/opencv-2.3.1/modules/flann /包括/opencv2/flann/dist.h:函数'T cvflann :: abs(T)[with T = long double]':

OpenCV-2.3.1/modules/flann/include/opencv2/flann/dist .H:63:错误:* [模块/ FLANN/CMakeFiles/opencv_flann.dir/SRC/precomp.obj]错误1

: 'fabsl' 在此范围

化妆[2]未声明

化妆[1]:* [模块/ FLANN/CMakeFiles/opencv_flann.dir /所有]错误2

化妆:* [全部]错误2

感谢名单所有

回答

1

双和long double在ARM上是一样的。它看起来像fabsl刚从libstdC++中移除。

编译我的ARM板时,我遇到了同样的问题。用fabs()代替fabs()在 /OpenCV-2.3.1/modules/flann/include/opencv2/flann/dist.h

这会得到事情编译,我还没有测试过构建,因为我仍然首先交叉编译其他代码。祝你好运!

约翰