opencv forarm交叉编译
我是 ARM 的新手。我正在尝试交叉编译 ARM9 板的 opencv 2.3.1 与 linux 2.3 当我生成cmake文件后,我收到如下错误
Desktop/opencv/OpenCV-2.3.1/modules/flann/include/opencv2/flann/dist.h: In function 'T cvflann::abs(T) [其中 T = long double]':
OpenCV-2.3.1/modules/flann/include/opencv2/flann/dist.h:63:错误:'fabsl'未在此范围内声明
make[2]: * [modules/flann/CMakeFiles/opencv_flann.dir/src/precomp.obj] 错误 1
make[1]: * > [modules/flann/CMakeFiles/opencv_flann.dir/all] 错误 2
make: * [all] 错误 2
感谢所有
I am a newbie to ARM. I am trying to cross compile opencv 2.3.1 for ARM9 board with linux 2.3
After generating a cmake file when i make i get the error as follows
Desktop/opencv/OpenCV-2.3.1/modules/flann/include/opencv2/flann/dist.h: In function 'T cvflann::abs(T) [with T = long double]':
OpenCV-2.3.1/modules/flann/include/opencv2/flann/dist.h:63: error: 'fabsl' was not declared in this scope
make[2]: * [modules/flann/CMakeFiles/opencv_flann.dir/src/precomp.obj] Error 1
make[1]: * [modules/flann/CMakeFiles/opencv_flann.dir/all] Error 2
make: * [all] Error 2
Thanx all
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
double 和 long double 在 ARM 上是相同的。看起来 fabsl 刚刚从 libstdc++ 中删除。
我在为 ARM 板编译时遇到了同样的问题。将 fabsl() 替换为 fabs()
/OpenCV-2.3.1/modules/flann/include/opencv2/flann/dist.h
这可以进行编译,我还没有测试构建,因为我仍然首先交叉编译一些其他 deps。祝你好运!
约翰
double and long double are the same on ARM. It looks like fabsl was just removed from libstdc++.
I had the same problem when compiling for my ARM board. Replace fabsl() with fabs() in
/OpenCV-2.3.1/modules/flann/include/opencv2/flann/dist.h
This gets things compiling, I have not tested the build yet as I am still cross compiling some other deps first. Good luck!
John