NCNN在linux环境中的安装编译(Build for Linux)
官方的编译过程参考为:NCNN在linux的配置编译官方参考
下载NCNN工程:
$ git clone https://github.com/Tencent/ncnn
在安装编译前需要安装g++ cmake protobuf等工具;
然后安装编译工程。
$cd ncnn
$mkdir build && cd build
$cmake ..
此时如果报:
/usr/local/bin/protoc: error while loading shared libraries: libprotobuf.so.15: cannot open shared object file: No such file or directory CMake Warning at /usr/local/share/cmake-3.6/Modules/FindProtobuf.cmake:387 (message): Protobuf compiler version doesn't match library version 3.5.0
(参考:https://blog.csdn.net/stevenluopan/article/details/44746193)
就是说protobuf编译器版本与库版本不匹配。解决方法如下:
此时需要在root权限下执行如下:
[root@localhost chensq]# vim /etc/ld.so.conf
加入: /usr/local/lib
之后
[root@localhost chensq]# ldconfig
[root@localhost chensq]# export LD_LIBRARY_PATH=/usr/local/lib
这样之后重新进行cmake ..将不会报错;
[root@localhost ncnn]# rm -rf build
[root@localhost ncnn]# mkdir build
[root@localhost ncnn]# cd build/
[root@localhost build]# cmake ..
-- CMAKE_INSTALL_PREFIX = /home/chensq/ncnn/build/install
-- The C compiler identification is GNU 4.8.5
-- The CXX compiler identification is GNU 4.8.5
-- Check for working C compiler: /bin/cc
-- Check for working C compiler: /bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /bin/c++
-- Check for working CXX compiler: /bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Try OpenMP C flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Try OpenMP CXX flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Found OpenMP: -fopenmp
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found Protobuf: /usr/local/lib/libprotobuf.so;-lpthread (found version "3.5.0")
-- Configuring done
-- Generating done
-- Build files have been written to: /home/chensq/ncnn/build
然后执行
[root@localhost build]# make -j4
会生成如下几个可执行文件
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Java SPI 居然这么多知名框架在用
- Ceph 入门到实战之 RBD 块存储接口
- 聊聊 Python 面试最常被问到的几种设计模式(下)
- 带你用 Python 实现自动化群控(入门篇)
- 实战篇 | 基于freeRTOS的多任务事件传输demo(附代码)
- 在kali linux中你应该知道的信息收集姿势(一)
- 【拓展】谈谈字符编码:Unicode编码与emoji表情编码
- TCP/IP 应用层协议解释
- Cisco Packet Tracer服务器模拟搭建
- Python3调用Google翻译
- 打造最强移动测试平台
- 微信小游戏背后的技术优化
- iox:一款功能强大的端口转发&内网代理工具
- Python3爬取steam优惠
- Cisco实验-将路由器连接到LAN操作步骤