当前位置: 首页 > news >正文

ncnn 库编译的一些问题,使用交叉编译

一开始的问题是编译完程序,但是部分工具没有编译出来。

主要的问题是:

1. ncnn2in8 程序没有编译出来:主要原因应该是cmakelists.txt文件中对于的模块没打开on,或者这个模块没加进去编译:

添加以下

-DNCNN_BUILD_EXAMPLES=ON -DNCNN_BUILD_TOOLS=ON -DNCNN_BUILD_BENCHMARK=ON

2. onnx2ncnn 以及caffe2ncnn 程序没编译出来:主要问题在于protobuf 库没安装上.

我是参考了这位博主的笔记,先编译x86然后再交叉编译。

ubuntu20.04上交叉编译libprotobuf-CSDN博客

我在git上下载了3.20.0版本,git clone -b v3.20.0 xxxxxx

cd protobuf

git submodule update --init --recursive 这步主要是make check测试用,防止报错

运行./autogen.sh

mkdir build 最好新建目录,编译到这个目录中,以免和其它的文件冲突

./configure --prefix=./build

make -j16

make install

以上先编译了x86平台的protobuf。

然后再交叉编译arrch64 平台:

换个目录,重新git一份源码,不能在原来的地方编译;

cd protobuf

git submodule update --init --recursive

./autogen.sh

mkdir arrch_build

./configure

--host=aarch64-rockchip-linux-gnu  交叉编译器的名字

--prefix=/home/yaoxingtian/protobuf/arrch_build

CC=../aarch64-rockchip-linux-gnu -gcc 编译器路径

CXX=./aarch64-rockchip-linux-gnu -g++

--with-protoc=..//protobuf/build/bin/protoc x86上编译的文件路径

make

make install

3. 交叉编译ncnn 报错:bin/ld: /usr/local/lib/libprotobuf.a: error adding symbols: file in wrong format

这个问题是编译的时候查找路径不是arrch平台编译的libprotobuf,而是用了x86编译的libprotobuf。我不知道路径怎么改,我直接在/usr/local/lib/ 替换了arrch64 的libprotobuf.a 。

4. 报错zlib 库找不到

我借鉴一下教程,编译好zlib后添加环境变量到bashrc文件:

export ZLIB_ROOT=./Documents/zlib-1.3.1

source ~/.bashrc

【开源库编译 | zlib】 zlib库最新版本(zlib-1.3.1)在Ubuntu(Linux)系统下的 编译 、交叉编译(移植)_zlib交叉编译-CSDN博客

http://www.lryc.cn/news/411119.html

相关文章:

  • Python基础教程(一)
  • 基于C51和OLED12864实现贪吃蛇小游戏
  • JVM性能调优全指南:高流量电商系统的最佳实践
  • 前端常见场景、JS计算精度丢失问题(Decimal.js 介绍)
  • Python写UI自动化--playwright(点击操作)
  • [C#面对对象] 之抽象方法 虚方法 接口
  • docker 发布geoserver服务添加字体
  • 数据赋能(162)——开发:数据整理——技术方法、主要工具
  • 安全服务面试
  • 昇思25天学习打卡营第23天|LSTM+CRF序列标注
  • 抖音直播弹幕数据逆向:websocket和JS注入
  • AIGC diffusers文生图模型optimum量化使用案例
  • PDF怎么转换成Word?这些工具一键搞定!
  • 【TS】TypeScript函数类型:提升函数的类型安全性和可读性
  • “八股文”在实际工作中是助力、阻力还是空谈?
  • 代码随想录算法训练营第22天-leetcode-回溯算法part01:
  • MySql 触发器、存储器练习
  • 【Plotly-驯化】一文教您画出Plotly中动态可视化饼图:pie技巧
  • Mirror学习笔记(一) 简介
  • 终端pip安装包后,Pycharm却导入失败?新手别慌,3招搞定!
  • Redis 与 Scrapy:无缝集成的分布式爬虫技术
  • 大厂linux面试题攻略四之Linux网络服务(一)
  • 【Pulling fs layer】Linux使用docker-compose的时候,一直Pulling fs layer
  • 最新保姆级教程使用WildCard开通Claude3升级ChatGPT4.0(2024.8)
  • layui 乱入前端
  • 中国十大顶级哲学家,全球公认的伟大思想家颜廷利:人类为何拥有臀部
  • Threejs中导入GLTF模型克隆后合并
  • 今日arXiv最热大模型论文:北京大学最新综述:视觉大模型中的漏洞与攻防对抗
  • 为什么IDEA中使用@Autowired会被警告
  • uniapp使用cover-view,使用@click无效