官方文档(https://github.com/Tencent/ncnn/wiki/how-to-build#build-for-linux-x86)上说的是:
install g++ cmake protobuf
其中g++和cmake,大家应该都非常熟悉了,只需要如下命令就可以装好
sudo apt install g++ cmake
而 protobuf 我百度搜索了一下,很多都是自己git源码之后编译的,其实不需要这么麻烦,因为Ubuntu18.04库里面已经有了,只需要如下命令
sudo apt install protobuf-compiler libprotobuf-dev
一般都会编译一下example目录,用于测试,则需要安装opencv
sudo apt install libopencv-dev
然后下载ncnn源码(https://github.com/Tencent/ncnn/releases)
我这里是20190320版本,下载后unzip,
vim CMakeLists.txt
取消注释add_subdirectory(examples)
创建build目录,进去cmake ..,然后make即可,
vulkan是选装,暂时先不折腾了
按照步骤即可执行 squeezenet 测试程序
-------------------------------------------------------------------
上面安装protobuf之后,如果还是存在版本不匹配的报错的话,可能是安装了多个protoc,如我的系统中安装了anaconda,其中包含了一个protoc指令,可以通过命令
which protoc
查看默认是哪里的程序,只要都是用系统的库和命令,正确编译是没有问题的