1、下载安装包protobuf
git clone https://github.com/protocolbuffers/protobuf.git
2、使用普通用户安装protobuf
cd protobuf/cmake
mkdir build
vim CMakeLists.txt
在139行加入
set(protobuf_SHARED_OR_STATIC "SHARED")
cmake ../ -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_BUILD_SHARED_LIBS_DEFAULT=ON
vim ~/.bashrc中加入路径
3、修改FindProtobuf.cmake
由于ncnn是直接用cmake和make编译的,但是我们的protobuf是安装在普通用户下
所以找到cmake的安装位置在Modules中找到FindProtobuf.cmake文件
在121和122行位置(这个位置可能可以写在其他地方,只不过我写在这里是验证成功了的)
set(Protobuf_LIBRARY "${你的protobuf安装位置}/cmake/build/libprotobuf.so")
set(Protobuf_SRC_ROOT_FOLDER "${你的protobuf安装位置}")
4、下载ncnn
https://codeload.github.com/Tencent/ncnn/zip/master
5、安装
cd ncnn-master
mkdir build
vim tools/CMakeLists.txt
加入add_subdirectory(tensorflow)
cd build
cmake ../
make
即可完成ncnn编译