当前位置:   article > 正文

君正 mips 平台交叉编译 ncnn_./install/lib/libopencv_core.so: undefined referen

./install/lib/libopencv_core.so: undefined reference to `posix_memalign@glib

前言

ncnn 是腾讯为手机端开发的一款极致优化高性能神经网络前向计算框架。ncnn 从设计之初深刻考虑手机端的部署和使用。无第三方依赖,跨平台,手机端 cpu 的速度快于目前所有已知的开源框架。

最近在君正芯片上进行的人脸识别项目时,需要用 ncnn 来加载人脸检测模型,遂进行君正平台的 ncnn 交叉编译,本文意在记录整个交叉编译过程,如有不足之处,欢迎指正。

一、开发环境

编译环境:Ubuntu16.04 ( x64 )
交叉编译链:mips-gcc520-64bit
OpenCV库:OpenCV ( 3.4.1 )
Protobuf: protobuf( 3.2.0 )
交叉编译工具:CMake ( 3.5.1 ),若未安装,请在终端执行:

sudo apt-get install cmake
sudo apt-get install cmake-qt-gui
  • 1
  • 2

二、编译 OpenCV

下载 OpenCV 源文件

终端执行:

wget https://github.com/opencv/opencv/archive/3.4.1.zip
  • 1

2.1 安装依赖库

sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libtiff4-dev libswscale-dev libjasper-dev
  • 1

2.2 新建 build 编译目录和编译存储库目录 install

解压下载 OpenCV 源文件

unzip 3.4.1.zip
mv 3.4.1 opencv
  • 1
  • 2

新建文件夹

cd opencv
mkdir build
mkdir install
  • 1
  • 2
  • 3

2.3 运行 cmake-gui 配置 OpenCV 生成 Makefile

cd opencv/build
cmake-gui ..
  • 1
  • 2

2.3.1 配置源码路径和输出路径

Where is the source code 选择解压好的 opencv-3.4.1 根目录
where to build the binaries 选择新建的 build 目录

2.3.2 点击 configure 按钮进入配置向导

编译的是 mips 平台 OpenCV 库,所以我们选择 Unix Makefiles,接着选择 Specify options for cross-compiling
在这里插入图片描述

2.3.3 配置交叉编译环境

点击 Next 进入交叉编译环境配置页面:

“Operating System”填写 mips-linux
“C Compilers” 填写交叉编译器(mips-linux-gnu-gcc)的路径
“C++ Compilers” 填写(mips-linux-gnu-g++)路径
“Target Root” 填写交叉编译器的 bin 目录,具体如下图:
在这里插入图片描述
修改 cmake-gui 配置

  • 修该配置默认安装目录 /usr/local,调整为新建的目录 install 所在路径(注意调整为自己新建 install 的路径),具体如下:
CMAKE_INSTALL_PREFIX       /home/yoko-zsb/opencv/install
  • 1

在这里插入图片描述

  • 修改 “BUILD”

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/485164
推荐阅读
相关标签
  

闽ICP备14008679号