`
uy1243
  • 浏览: 2006 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

交叉编译opencv编译过程中的错误

阅读更多
opencv版本2.1可以使用cmake来配置。
不过首先需要安装cmake和cmake-gui工具。

在cmake-gui中配置好下载的opencv路径,然后在where to build the binaries中选中源码路径下,新建build目录,然后选中。

首先点击configure按钮,选择cross compile项,点击next,然后选择arm-linux-gcc,arm-linux-g++路径。
然后在主界面上,可以配置选项,例如如果v4l就在with项下,把v4l选中。
然后generate,就会生成makefile文件,
终端进入build目录,然后make,make install就完成了。

在编译的过程可能会出现一些错误,下面是我遇到的一些:


1、‘unlink’ was not declared in this scope
找到相应的文件,添加#include<unistd.h>

2、undefined reference to `cvCreateCameraCapture_V4L(int)'
解决方法:
src/highgui/cap_v4l.cpp


#include <sys/mman.h> 
#ifdef HAVE_CAMV4L //加上去
#include <linux/videodev.h>
#endif //加上去
#include <string.h>


同目录下cvcap.cpp
找到if (capture)
      return capture;
#endif
把#if defined (HAVE_CAMV4L) || defined (HAVE_CAMV4L2)
修改为#if defined (HAVE_CAMV4L)
capture = cvCreateCameraCapture_V4L (index);
if (capture)
return capture;
3、undefined reference to `clock_gettime'
vim CMakeCache.txt,修改build目录下的CMakeCache.txt,CMAKE_EXE_LINKER_FLAGS原来为空,加上-lpthread -lrt。

分享到:
评论

相关推荐

    opencv2.4.10交叉编译

    通过本文,我们可以了解到交叉编译OpenCV的整个过程,并避免常见的错误。 八、结论 交叉编译OpenCV是一项复杂的任务,需要合适的开发环境、交叉编译工具链、cmake工具等。但是,通过本文,我们可以了解到整个过程...

    银河麒麟V10系统+飞腾CPU交叉编译OpenCV

    在银河麒麟V10操作系统上,为飞腾CPU交叉编译OpenCV,首先需要搭建一个基本的开发环境,包括安装一些必要的编译工具和库。本文将详细介绍这一过程,主要涉及以下几个步骤: 1. **创建工作目录**: 在 `/usr/local/...

    arm-none-linux opencv 交叉编译所需依赖库

    交叉编译OpenCV通常需要更高版本的cmake,例如3.12.4和3.6.3,来支持更复杂的配置选项和跨平台编译。 在交叉编译OpenCV时,首先需要在目标平台(如ARM Linux)上安装这些依赖库,并确保它们能够正常工作。然后,...

    opencv交叉编译步骤及注意事项.docx

    交叉编译OpenCV是一个复杂的过程,涉及到对目标平台的了解和配置细节的掌握。遵循以上步骤和注意事项,你应该能够成功地在Tina-r16-v2.1上编译OpenCV。记得在遇到问题时,查阅官方文档,社区论坛或在线资源,以获取...

    opencv编译缺失文件

    针对"opencv编译缺失文件"这一主题,我们将深入探讨OpenCV编译过程中可能出现的常见问题以及解决方法。 1. **OpenCV与OpenCV_contrib** OpenCV_contrib是OpenCV的扩展模块集合,包含了一些前沿的计算机视觉算法。...

    opencv3.2交叉编译移植笔记

    在本文中,我们将深入探讨如何进行OpenCV 3.2的交叉编译,以便将其移植到ARM架构的Linux系统上。交叉编译是一项关键技能,尤其在嵌入式开发中,因为目标硬件可能没有足够的资源来运行完整的编译过程。 首先,我们...

    opencv-2.4.9-imx6交叉编译教程.pdf

    首先,FFmpeg库的编译安装是交叉编译OpenCV的前提。FFmpeg是一个可以用来记录、转换数字音频、视频,并能将其转换成流的开源软件项目。在本教程中,FFmpeg的版本是2.8.5,编译时需要指定一系列参数,这些参数包括: ...

    编译opencv需要用到的第三方源代码以及教程

    本资源集合提供了编译OpenCV所需的一些关键第三方源代码和教程,帮助开发者顺利完成编译过程。 1. **OpenCV版本选择**:提及的"open3.1.0"指的是OpenCV的3.1.0版本,这是一个稳定版本,包含了丰富的功能和优化。...

    编译OpenCV for arm-linux.pdf

    6. **编译OpenCV**:在命令行中进入`/usr/local/opencv-arm`目录,并运行`make`命令进行编译。在编译过程中可能会遇到一些链接错误,例如`undefined reference to 'clock_gettime'`等,这通常是由于未正确链接某些库...

    opencv4.1_contrib(编译完成)

    标题 "opencv4.1_contrib(编译完成)" 指的是 OpenCV 版本 4.1.0 的扩展模块已经完成了编译过程。这意味着用户可以直接使用这个编译好的版本,而无需自己从源代码编译,节省了时间和计算资源。这个版本的 OpenCV 对应...

    20200219-OpenCV编译相关文件讲解-zhengzhiwen.pdf

    本文主要讨论在编译OpenCV时涉及的cmake文件和交叉编译配置。 首先,回顾一下在编译OpenCV时可能遇到的问题。在使用RISC-V架构的交叉编译工具riscv64-unknown-linux-gnu-gcc编译OpenCV时,可能会遇到错误,这些错误...

    ffmpeg动态连接库 交叉编译后的

    然而,要注意的是,由于不同版本的FFmpeg和OpenCV可能对库接口有变动,所以需要确保两者版本兼容,避免出现编译错误或运行时问题。此外,调试交叉编译的程序可能会比较困难,可能需要借助远程调试工具或日志输出来...

    arm-opencv-2.4.9

    opencv2.4.9版本交叉编译后的lib和include,将压缩包里的lib放到板子根目录下的lib,include文件放到板子下的include文件,就...可以在交叉编译工具中寻找对应的文件替换掉板子上的文件。有问题可以百度,或者咨询我。

    在Linux下安装openCV 并将其整合到Eclipse当中

    需要注意的是,在实际操作过程中可能会遇到各种问题,例如编译错误、链接错误等,此时可以通过检查日志、查阅文档等方式解决这些问题。同时,确保所有的依赖库都已正确安装,这对于OpenCV的顺利运行至关重要。

    zlib-1.2.11.tar.gz

    总的来说,"zlib-1.2.11.tar.gz"在Ubuntu交叉编译OpenCV的过程中扮演着重要角色,它为OpenCV提供必要的压缩和解压缩功能。正确安装和配置zlib库,是成功构建OpenCV项目的基础。通过以上步骤,开发者可以在非x86平台...

    arm上移植opencv

    5. 在交叉编译OpenCV时,推荐使用图形界面配置工具cmake-gui,这样可以更直观地设置各种编译选项。 6. 配置CMake时,关键设置包括指定源代码路径、构建目标路径、系统类型为Linux(而不是arm-linux),以及去除不必...

    opencv cmake时缺少的FFmpeg库

    6. **解决问题**:如果在CMake过程中仍然找不到FFmpeg,可能是由于版本不兼容或者库路径设置错误。检查FFmpeg的版本是否与OpenCV要求的版本匹配,以及库文件路径是否正确。 通过以上步骤,你应该能够解决在OpenCV ...

    opencv-3.4.0编译失败需要的boostdesc_bgm.i文件

    在OpenCV库的构建过程中,有时会遇到一些特定文件缺失导致的编译错误。这个问题主要集中在OpenCV的特征检测和匹配模块,特别是涉及到Boost描述符和VGG(Visual Geometry Group)算法时。在这个问题中,用户在尝试...

    opencv移植到开发板过程

    2. **交叉编译器设置**:由于ZLIB库的`configure`脚本不支持直接的交叉编译选项,需要手动干预,将系统中的`gcc`和`ld`链接器替换为对应的交叉编译器,即`arm-none-linux-gnueabi-gcc`和`arm-none-linux-gnueabi-ld`...

Global site tag (gtag.js) - Google Analytics