gpt4 book ai didi

linux - 当我在树莓派 3 模型 B v1.2 中出现 "make"opencv2-4-9 时出错

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:43:56 26 4
gpt4 key购买 nike

我想在 raspberry pi 3 model b v1.2 2015 上安装 opencv2.4.9。我关注 this page安装opencv。当我“制作”opencv 时,我看到了这些错误:

[  1%] Built target opencv_ts_pch_dephelp
[ 1%] Built target pch_Generate_opencv_ts
[ 1%] Built target opencv_core_pch_dephelp
[ 1%] Built target pch_Generate_opencv_core
[ 3%] Built target opencv_core
[ 3%] Built target opencv_imgproc_pch_dephelp
[ 3%] Built target pch_Generate_opencv_imgproc
[ 5%] Built target opencv_imgproc
[ 6%] Built target opencv_highgui_pch_dephelp
[ 6%] Built target pch_Generate_opencv_highgui
[ 6%] Building CXX object modules/highgui/CMakeFiles/opencv_highgui.dir/src/window_QT.cpp.o
In file included from /usr/include/GL/glx.h:32:0,
from /home/nao/Desktop/opencv-2.4.9/modules/highgui/src/window_QT.cpp:59:
/usr/include/GL/gl.h:134:17: error: conflicting declaration ‘typedef double GLdouble’
typedef double GLdouble; /* double precision float */
^
In file included from /usr/include/qt4/QtOpenGL/QtOpenGL:5:0,
from /home/nao/Desktop/opencv-2.4.9/modules/highgui/src/window_QT.h:46,
from /home/nao/Desktop/opencv-2.4.9/modules/highgui/src/window_QT.cpp:47:
/usr/include/qt4/QtOpenGL/qgl.h:85:17: note: previous declaration as ‘typedef GLfloat GLdouble’
typedef GLfloat GLdouble;
^
In file included from /usr/include/GL/gl.h:2055:0,
from /usr/include/GL/glx.h:32,
from /home/nao/Desktop/opencv-2.4.9/modules/highgui/src/window_QT.cpp:59:
/usr/include/GL/glext.h:468:19: error: conflicting declaration ‘typedef std::ptrdiff_t GLsizeiptr’
typedef ptrdiff_t GLsizeiptr;
^
In file included from /usr/include/qt4/QtOpenGL/qgl.h:79:0,
from /usr/include/qt4/QtOpenGL/QtOpenGL:5,
from /home/nao/Desktop/opencv-2.4.9/modules/highgui/src/window_QT.h:46,
from /home/nao/Desktop/opencv-2.4.9/modules/highgui/src/window_QT.cpp:47:
/usr/include/GLES2/gl2.h:69:25: note: previous declaration as ‘typedef khronos_ssize_t GLsizeiptr’
typedef khronos_ssize_t GLsizeiptr;
^
In file included from /usr/include/GL/gl.h:2055:0,
from /usr/include/GL/glx.h:32,
from /home/nao/Desktop/opencv-2.4.9/modules/highgui/src/window_QT.cpp:59:
/usr/include/GL/glext.h:469:19: error: conflicting declaration ‘typedef std::ptrdiff_t GLintptr’
typedef ptrdiff_t GLintptr;
^
In file included from /usr/include/qt4/QtOpenGL/qgl.h:79:0,
from /usr/include/qt4/QtOpenGL/QtOpenGL:5,
from /home/nao/Desktop/opencv-2.4.9/modules/highgui/src/window_QT.h:46,
from /home/nao/Desktop/opencv-2.4.9/modules/highgui/src/window_QT.cpp:47:
/usr/include/GLES2/gl2.h:70:26: note: previous declaration as ‘typedef khronos_intptr_t GLintptr’
typedef khronos_intptr_t GLintptr;
^
modules/highgui/CMakeFiles/opencv_highgui.dir/build.make:227: recipe for target 'modules/highgui/CMakeFiles/opencv_highgui.dir/src/window_QT.cpp.o' failed
make[2]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/src/window_QT.cpp.o] Error 1
CMakeFiles/Makefile2:1868: recipe for target 'modules/highgui/CMakeFiles/opencv_highgui.dir/all' failed
make[1]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2

我看到 this page对于这个错误,但是当我将 OPENGL 更改为 OPENGL-ES 时,没有任何变化。

我能做什么?

最佳答案

我是这样解决的。我在树莓派上运行 Ubuntu 16.04 LTS LXDE。我不知道导致此问题的确切核心库(错误中提到的除外),因此这种方法可能有点通用。 (当所有其他方法都失败时)。

  1. 确保您拥有 opencv 和 opencv_contrib 对象的全新副本。

  2. git checkout --force 3.3.1(请通过运行 git log 或在 github 页面上检查下载的头部位置)

  3. 创建一个构建文件夹并确保您拥有所有依赖库。这很棘手,因为其中一些是视觉的。示例包括:libgstreame1.0-base-dev
  4. 使用cmake CMAKE_BUILD_TYPE=RELEASE\

CMAKE_INSTALL_PREFIX=/usr/local\

INSTALL_C_EXAMPLES=ON\

INSTALL_PYTHON_EXAMPLES=ON\

WITH_TBB=ON\

WITH_V4L=ON\

WITH_QT=ON\

WITH_OPENGL=ON\

OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules\

如果这不起作用,您可以在 cmake 命令之后的每一行的开头添加 -D 符号。如果您想使用 cuda(如果您的显卡具有适当的驱动程序),则必须通过在上述命令中添加 USE_CUDA=ON 添加一个变量。

更多帮助请引用thisthis .

希望对您有所帮助!

关于linux - 当我在树莓派 3 模型 B v1.2 中出现 "make"opencv2-4-9 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39566160/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com