在ubuntu 14.04 LTS中安装opencv 2.4.10时出现未定义的引用错误

在ubuntu 14.04 LTS中安装opencv 2.4.10时出现未定义的引用错误,opencv,ubuntu,Opencv,Ubuntu,我正在32位hp Pavilion dv4000笔记本电脑上使用Ubuntu14.04 LTS。我正在尝试安装OpenCV 2.4.10,但即使在学习了许多教程之后,我仍然会遇到下面同样的错误。 当我发出“make”命令来安装opencv时,终端在17%完成后终止,并出现此错误。有人能建议我怎么修吗 Linking CXX executable ../../bin/opencv_perf_imgproc //usr/local/lib/libv4l2.so.0: undefined refer

我正在32位hp Pavilion dv4000笔记本电脑上使用Ubuntu14.04 LTS。我正在尝试安装OpenCV 2.4.10,但即使在学习了许多教程之后,我仍然会遇到下面同样的错误。 当我发出“make”命令来安装opencv时,终端在17%完成后终止,并出现此错误。有人能建议我怎么修吗

 Linking CXX executable ../../bin/opencv_perf_imgproc
//usr/local/lib/libv4l2.so.0: undefined reference to `v4lconvert_fixup_fmt'
//usr/local/lib/libv4l2.so.0: undefined reference to `v4lconvert_vidioc_s_ext_ctrls'
//usr/local/lib/libv4l2.so.0: undefined reference to `v4lconvert_vidioc_g_ext_ctrls'
//usr/local/lib/libv4l2.so.0: undefined reference to `v4lconvert_vidioc_try_ext_ctrls'
collect2: error: ld returned 1 exit status
make[2]: *** [bin/opencv_perf_imgproc] Error 1
make[1]: *** [modules/imgproc/CMakeFiles/opencv_perf_imgproc.dir/all] Error 2
make: *** [all] Error 2

请尝试以下选项:

  • 改用OpenCV 2.4.9

  • 运行
    sudo apt get安装libv4l dev

  • 或者使用以下步骤,我已经成功地在Ubuntu 14.04、12.04和Debian Wheezy中安装了OpenCV

    sudo apt-get install build-essential make cmake git libgtk2.0-dev pkg-config python python-dev python-numpy libavcodec-dev libavformat-dev libswscale-dev libjpeg-dev libpng-dev libtiff-dev
    cd ~/Downloads
    git clone https://github.com/itseez/opencv
    mv opencv /opt
    cd /opt/opencv
    git checkout 2.4.10.1 #or whatever version you want
    sudo mkdir build
    cd build
    sudo cmake -j4 -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
    sudo make -j4
    sudo make -j4 install
    sudo ldconfig
    

    请参阅此

    是。在我成功安装opencv 2.4.9之前。但我无法运行一个python脚本,其中出现了一个错误“非法指令(内核转储)”。所以我认为2.4.9不能运行这个脚本。因此尝试安装opencv 2.4.10。我尝试了几乎所有的教程,但都犯了错误。为了消除这个错误,我从一个弱者身上挣扎了很多。现在我已经将我的操作系统更改为12.04版本。现在我成功地安装了opencv 2.4.10。好的,很好。我很确定非法指令错误与OpenCV版本无关——这可能是一个更深层次问题的迹象,也许你可以在网站上提出另一个问题。但无论如何,如果问题的答案解决了问题,你应该点击勾号将其标记为已接受。