最近工作涉及到使用ncnn框架,使用之前需要新进行编译,目前所使用环境为centos系统,其过程主要根据github上介绍的步骤https://github.com/Tencent/ncnn/wiki/how-to-build#build-for-linux结合issure中的回答配合最终编译成功。下面记录重点过程:
1.所使用版本如下:
cmake:3.15.5 protobuf:3.6.0(看issure中有的说需要版本大于2.6)
2.git clone代码慢 以及 git submodule update --init失败的问题:
首先将git clone https://github.com/Tencent/ncnn.git连接替换为码云https://gitee.com/Tencent/ncnn.git即可下载下来
接下来进入.git路径下查看config文件将里面clone不下来的url自己手动clone或者下载下来放到指定的路径下即可
3.cmake命令进行编译:
git上的命令包含的信息不太完整,如下将DNCNN_VULKAN=OFF置位off,再添加上protubuf以及opencv的安装包信息即可编译成功,两条命令一起执行
/home/wufuzhang/install/cmake-3.15.5/bin/cmake -DCMAKE_BUILD_TYPE=Release -DNCNN_VULKAN=OFF -DNCNN_SYSTEM_GLSLANG=ON -DOpenCV_DIR=/home/wufuzhang/install/opencv-3.3.0/share/OpenCV -DProtobuf_INCLUDE_DIR=/home/wufuzhang/install/protobuf-3.6.0/include -DProtobuf_LIBRARIES=/home/wufuzhang/install/protobuf-3.6.0/lib/libprotobuf.so -DProtobuf_PROTOC_EXECUTABLE=/home/wufuzhang/install/protobuf-3.6.0/bin/protoc -DNCNN_BUILD_EXAMPLES=ON ..
make -j$(nproc)
4. 验证环节:
下载好的param和bin在examples,直接按照git上步骤执行:
进入~/ncnn/examples目录执行
../build/examples/squeezenet ../images/256-ncnn.png
完成!
5.总结:
看似简单的四步也花费了不少时间找错原因,重点感谢我家元宝的悉心指导完美解决错误,以此记录下来方便需要的人使用。