opencv forarm交叉编译

发布于 2024-12-09 09:33:45 字数 534 浏览 0 评论 0原文

我是 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

束缚m 2024-12-16 09:33:45

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文