【问题标题】:opencv install error in odroidodroid中的opencv安装错误
【发布时间】:2015-08-13 14:32:43
【问题描述】:

我正在尝试在 odroid 板上将 opencv 与 xubuntu 一起使用。

下载opencv2.4.8 并执行以下命令

cmake -D CMAKE_BUILD_TYPE=REALEASE _D CMAKE_INSTALL_PREFIX=/usr/local/opencv make

紧随其后 opencv linux install

但我在输入make 时遇到错误。

[  9%] Building CXX object modules/highgui/CMakeFiles/opencv_highgui.dir/src/cap_v4l.cpp.o
[ 10%] Building CXX object modules/highgui/CMakeFiles/opencv_highgui.dir/src/grfmt_sunras.cpp.o
[ 10%] Building CXX object modules/highgui/CMakeFiles/opencv_highgui.dir/src/grfmt_base.cpp.o
[ 10%] Building CXX object modules/highgui/CMakeFiles/opencv_highgui.dir/src/grfmt_bmp.cpp.o
[ 10%] Building CXX object modules/highgui/CMakeFiles/opencv_highgui.dir/src/grfmt_pxm.cpp.o
[ 10%] Building CXX object modules/highgui/CMakeFiles/opencv_highgui.dir/src/grfmt_imageio.cpp.o
[ 10%] Building CXX object modules/highgui/CMakeFiles/opencv_highgui.dir/src/grfmt_jpeg2000.cpp.o
[ 10%] Building CXX object modules/highgui/CMakeFiles/opencv_highgui.dir/src/grfmt_png.cpp.o
[ 10%] Building CXX object modules/highgui/CMakeFiles/opencv_highgui.dir/src/grfmt_exr.cpp.o
[ 10%] Building CXX object modules/highgui/CMakeFiles/opencv_highgui.dir/src/grfmt_tiff.cpp.o
[ 11%] Building CXX object modules/highgui/CMakeFiles/opencv_highgui.dir/src/grfmt_jpeg.cpp.o
[ 11%] Building CXX object modules/highgui/CMakeFiles/opencv_highgui.dir/src/bitstrm.cpp.o
Linking CXX shared library ../../lib/libopencv_highgui.so
/usr/bin/ld: cannot find -lopenal
/usr/bin/ld: cannot find -lxvidcore
/usr/bin/ld: cannot find -lx264
/usr/bin/ld: cannot find -lssh
/usr/bin/ld: cannot find -lmodplug
/usr/bin/ld: cannot find -lfaac
/usr/bin/ld: cannot find -lopenal
/usr/bin/ld: cannot find -lxvidcore
/usr/bin/ld: cannot find -lx264
/usr/bin/ld: cannot find -lssh
/usr/bin/ld: cannot find -lmodplug
/usr/bin/ld: cannot find -lfaac
collect2: error: ld returned 1 exit status
make[2]: *** [lib/libopencv_highgui.so.2.4.8] Error 1
make[1]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/all] Error 2
make: *** [all] Error 2

如果我错过了一些库,请告诉我需要什么样的库以及我应该做什么。


我通过下载这些库解决了这个问题。

libopenal-dev
libxvidcore-dev
libx264-dev
libssh-dev
libmodplug-dev
libfaac-dev
libopenal-dev
libxvidcore-dev
libx264-dev
libssh-dev
libmodplug-dev
libfaac-dev

但出现此错误。

Linking CXX shared library ../../lib/libopencv_highgui.so
/usr/local/lib/libavcodec.a(videodsp_armv5te.o): In function `ff_prefetch_arm':
/home/odroid/odroid-sources/sources/ffmpeg/libavcodec/arm/videodsp_armv5te.S:29:(.text+0x8): relocation truncated to fit: R_ARM_THM_JUMP19 against symbol `ff_prefetch_arm' defined in .text section in /usr/local/lib/libavcodec.a(videodsp_armv5te.o)
collect2: error: ld returned 1 exit status
make[2]: *** [lib/libopencv_highgui.so.2.4.8] Error 1
make[1]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/all] Error 2
make: *** [all] Error 2

【问题讨论】:

  • 是的,您需要获取(通过 apt-get 安装或编译)几个库。这是help.ubuntu.com/community/OpenCV的“官方”好脚本@
  • 我尝试按照您的网站安装 opencv。但它没有用。我有一些错误。而且我还找不到错过了什么类型的库。
  • 请写下您遇到的错误。
  • 我在使用 ffmpeg 的 libavcodec 的黑莓 10 中遇到了完全相同的错误。如果您设法解决了这个问题,请告诉我,如果我先找到解决方案,我会这样做
  • 我用 sudo apt-get install libopencv-* 解决了这个问题。

标签: linux opencv odroid


【解决方案1】:

如果有人仍然面临在 odroid 中打开 cv 的问题,他们可以查看此链接 http://forum.odroid.com/viewtopic.php?f=77&t=7445

您可以从该链接下载具有 ODROID-U3 (ROS+OpenCV+PCL) 的 Ubuntu 14.04 Robotics Edition 的图像。预装 Open CV,USB 摄像头工作正常。

如果您需要操作系统安装说明,您可以在此处找到一些步骤 http://com.odroid.com/sigong/blog/blog_list.php?bid=130

【讨论】:

    【解决方案2】:

    U3 也有同样的问题。我尝试了三件事:

    1. 像你一样编译OpenCV,同样的错误,
    2. 将 Ubuntu 12.11 Robotics Edition 与 Open CV、ROS 和其他库一起使用(这些库有效,但在检测无线网络时存在问题),以及
    3. sudo apt-get install libopencv-xxx 这样安装库。最后一种方法适用于 XUbuntu,但我无法使用 VideoCapture,因为它显示 V4L 错误。

    【讨论】:

    • 我忘了告诉我我尝试安装您列出的所有库(-lopenal、lxvidcore 等),但出现了与 highgui 相关的新编译错误。 Odroid 论坛有一些类似的相关主题:forum.odroid.com/viewtopic.php?f=77&t=3375
    • 是的,我尝试了方法 3。它有效。你知道我如何使用视频捕捉吗?
    • VideoCapture 尝试打开位于 /dev/videoN 的 USB 设备,其中 N = 0,1,2,...。通常它会打开 /dev/video0。我做了一些测试,XUbuntu 在连接网络摄像头时关联了 /dev/video10。例如,检查来自 guvcview(类似于奶酪的应用程序)的输出。似乎最大的问题是 VideoCapture 无法处理索引 10(它太高了)。在这个链接中,他们提供了一个 shell 脚本来解决这个问题。当心。我在没有互联网连接的情况下执行它并且内核已损坏,因此 eMMC 不再响应:forum.odroid.com/viewtopic.php?f=77&t=3375
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-11
    • 2016-12-26
    • 2012-05-26
    • 1970-01-01
    • 2015-12-21
    • 2017-11-06
    • 1970-01-01
    相关资源
    最近更新 更多