ncnn源码编译安装
主要参照以下网址
https://www.codetd.com/article/5379851
零、目前配置
nvidia 3*1080Ti GPU
11G显存
6T内存
linux Ubuntu 16.0.4
protoc 3.6.1
opencv-python 4.4.*
一、安装protoc
1、直接源码安装2.6.1版本的protoc
https://github.com/protocolbuffers/protobuf/releases?after=v3.0.0-alpha-1
得到protobuf-2.6.1.zip
2、tar xvf protobuf-cpp-3.6.1.tar.gz 解压
3、whereis protoc 看本地目录中存在几个protoc的路径
which protoc 查看默认使用的protoc的路径
protoc --version 查看当前protoc使用的版本
4、如果version不是刚才下载的2.6.1,则需要修改~/.bashrc中的protoc环境变量,修改成刚才下载的2.6.1版本
5、开始安装,步骤如下:
sudo apt-get install libprotobuf-dev protobuf-compiler
sudo apt-get install autoconf automake libtool curl
./autogen.sh
说明:若protobuf目录下已经有了configure文件,就不用运行./autogen.sh。
./configure --prefix=/usr/local/protobuf
make
make check
sudo make install
5、配置/etc/profile与protoc
vim /etc/profile,添加
export PATH=$PATH:/usr/local/protobuf/bin/
export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig/
保存执行,source /etc/profile。
同时在~/.profile中添加上面两行代码,否则会出现登录用户找不到protoc命令。
6、配置动态链接库
sudo vi /etc/ld.so.conf,在文件中添加/usr/local/protobuf/lib(注意: 在新行处添加),
7、执行最终命令
sudo ldconfig
二、源码安装opencv
1、在官网上下载并解压OpenCV,网址为https://opencv.org/releases.html,下载的版本是opencv-3.4.4.zip
2、mkdir build
3、cd build
4、cmake -D CUDA_ARCH_BIN=3.2 -D CUDA_ARCH_PTX=3.2 -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D BUILD_TIFF=ON -D WITH_QT=ON -D WITH_OPENGL=ON .. (这句话好使,牛掰格拉斯)
5、build 目录下 make -j
6、sudo make install (需要使用管理员账号进入到build目录下运行即可运行成功)
7、此时安装完毕,加载环境变量,
设置动态链接用到的路径,使用管理员账号可以执行:
sudo sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig
三、下载编译ncnn
1、下载ncnn
git clone https://github.com/Tencent/ncnn
2、新建build文件夹并进入
mkdir build && cd build
3、cmake ..
4、make -j
5、sudo make install (管理员命名运行)
6、sudo sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
7、sudo ldconfig