在linux系统上交叉编译opencv4.1.1

1.下载安装包opencv4.1.1.zip与opencv_contrib-4.1.1.zip,解压。

2.打开cmake-gui编译

cmake-gui

3.在where is the source code 里输入opencv解压后的路径:xx/xx/opencv-4.1.1

在where to build the binaries 里输入自己新创建的build文件夹路径:xx/xx/opencv-4.1.1/build

然后点击Configure,选择Specify options for cross-compiling,点击Next

在Operating System 里输入Linux。注意!一定是Linux!如果输入交叉编译系统名称,后续必须把动态链接库放在../../lib里,这个问题困扰了我好久。

在C里输入gcc的路径,如:/opt/hisi-linux/x86-arm/arm-himix200-linux/bin/arm-himix200-linux-gcc

在C++里输入g++的路径,如:/opt/hisi-linux/x86-arm/arm-himix200-linux/bin/arm-himix200-linux-g++

然后点击Finish,开始configure。

4.修改配置项,勾选Advanced:

(1)CMAKE_INSTALL_PREFIX,可以设置一个你自己创建的文件夹,这样编译好的include和lib都在这个文件见里

(2)OPENCV_EXTRA_MODULE_PATH,设置为之前解压的opencv_contrib的路径,如:xx/xx/opencv_contrib-4.1.1/modules

(3)CMAKE_EXE_LINER_FLAGS,设置为 -lpthread -ldl 

(4)CMAKE_CXX_FLAGS,设置为 -fPIC -static-libstdc++ -fpermissive

(5)ZLIB_INCLUDE_DIR,设置为xx/xx/opencv-4.1.1/3rdparty/zlib

(6)CMAKE_FIND_ROOT_PATH,设置为arm工具链的位置,如:/opt/hisi-linux/x86-arm/arm-himix200-linux/bin

(7)选中BUILD_opencv_world

(8)把BUILD_TESTS和BUILD_PERF_TESTS去掉

5. 点击Genenrate

6.进入之前创建的build文件夹

make -j8

7.报错:

(1)No suitable threading library available

在xx/xx/opencv-4.1.1/3rdparty/protobuf/src/google/protobuf/stubs/common.cc文件里添加

#define HAVE_PTHREAD

(2)缺失文件boostdesc_bgm.i等时

把缺失的文件下载下来,拷贝到opencv_contrib-4.1.1/modules/xfeatures2d/src里

下载地址:https://pan.baidu.com/share/init?surl=-PA3ItqCCiaNUXZxIHHiIg 密码:xlpn

(3)出现找不到features2d/test/test_detectors_regression.impl.hpp之类的报错时

这些hpp都在opencv-4.1.1/modules/features2d/test/里面,可以把opencv-4.1.1/modules/里的features2d文件夹拷贝到opencv_contrib-4.1.1/modules/xfeatures2d/test里。

8.make -j8成功之后

make install

就编译成功啦,在你之前设置的CMAKE_INSTALL_PREFIX文件夹里就有了include和lib文件。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MINGW是一个针对Windows平台的GNU工具集合,它提供了在Windows环境下编译C和C++程序所需的工具和库。OpenCV是一个计算机视觉库,支持多种编程语言和操作系统,可用于图像和视频处理、人脸识别、物体检测等领域。 要在MINGW环境下编译OpenCV 4.1.1,可以按照以下步骤进行: 1. 安装MINGW:从官方网站上下载MINGW安装包,并按照提示安装到本地系统。 2. 安装CMake:下载并安装CMake,用于生成OpenCV编译脚本。 3. 下载OpenCV 4.1.1源码:从OpenCV官网下载最新版本源码压缩包,解压到本地目录。 4. 运行CMake:打开CMake并设置源码路径和Build路径。注意,需要用MINGW编译器生成Makefile,而不是Visual Studio等编译器。在CMake中选择生成MINGW Makefiles,并设置好相关路径和选项,然后点击Configure按钮。 5. 配置编译选项:根据需要选择和配置编译选项,例如是否启用一些额外的模块、是否启用OpenMP并行编译等。 6. 生成Makefile:在CMake中点击Generate按钮,生成Makefile并保存到本地目录。 7. 编译OpenCV:在终端中进入到Build目录,并执行make指令进行编译。注意,可能需要等待一段时间才能完成编译过程。 8. 安装OpenCV编译完成后,在终端中执行make install指令,将OpenCV安装到本地系统中。 综上所述,编译OpenCV 4.1.1需要安装MINGW和CMake,并且需要在CMake中配置好相关选项和路径,然后生成Makefile进行编译。这样可以将OpenCV编译成针对MINGW平台的动态库和静态库,以便在Windows环境中使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值