当前位置: 首页 > news >正文

windows编译ncnn

官方代码https://github.com/Tencent/ncnn/wiki/how-to-build#build-for-windows-x64-using-visual-studio-community-2017

编译工具

visual studio 2017

一、编译protobuf

1、下载protobuf

protobuf-3.11.2:https://github.com/google/protobuf/archive/v3.11.2.zip

2、解压

解压至:D:\protobuf-3.11.2

3、编译

打开windows powershell

mkdir protobuf_build
cd protobuf_build
cmake -A x64 -DCMAKE_INSTALL_PREFIX=%cd%/install -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_MSVC_STATIC_RUNTIME=OFF ../cmake

cmake --build . --config Release -j 2

cmake --build . --config Release --target install

Vulkan SDK用于调用GPU,这里不多赘述

二、编译opencv

1、下载cmake

官网链接:Download | CMake

2、下载opencv和opencv_contrib

opencv:Release OpenCV 4.8.0 · opencv/opencv · GitHub

opencv_contrib:Tags · opencv/opencv_contrib · GitHub

安装好后放到设定文件夹,如,

3、使用cmake编译opencv

source code:D:\opencv\opencv-4.8.0\sources

build the binaries:D:\opencv\tools

设定好后点击configure,随后选择vs版本以及操作系统,点击finish

第一次configure后会出现如下情况,

在红色区域找到“OPENCV_EXTRA_MODULES_PATH”,输入:D:\opencv\opencv_contrib-4.8.0\modules,以安装对应版本的扩展包

如果要生成生成opencv_world.lib,则勾选“BUILD_opencv_world”

再次configure,红色区域会消失,

随后generate,

接下来便可在D:\opencv\tools下找到并打开opencv的解决方案:D:\opencv\tools\OpenCV.sln

右键解决方案->生成解决方案,右键cmaketargets的install->仅用于项目->仅生成INSTALL

三、编译ncnn

下载源码:GitHub - Tencent/ncnn: ncnn is a high-performance neural network inference framework optimized for the mobile platform

解压至D盘,如:D:\ncnn

cd D:\ncnn
mkdir -p protobuf_build
cd protobuf_build

开始编译ncnn, 

## 注意把<protobuf-root-dir>换成你的protobuf的目录,如:D:/protobuf-3.11.2
## DNCNN_VULKAN设成OFF
## 指定DOpenCV_DIR的路径,如:D:/opencv/tools
cmake -A x64 -DCMAKE_INSTALL_PREFIX=%cd%/install -DProtobuf_INCLUDE_DIR=D:/protobuf-3.11.2/protobuf_build/install/include -DProtobuf_LIBRARIES=D:/protobuf-3.11.2/protobuf_build/install/lib/libprotobuf.lib -DProtobuf_PROTOC_EXECUTABLE=D:/protobuf-3.11.2/protobuf_build/install/bin/protoc.exe -DNCNN_VULKAN=OFF .. -DOpenCV_DIR=D:/opencv/tools

cmake --build . --config Release -j 2

cmake --build . --config Release --target install

至此,完成了在windows上对ncnn的编译

http://www.lryc.cn/news/105344.html

相关文章:

  • C++和Lua交互总结
  • nvm安装和切换node版本
  • 每日一题8.2 2536
  • 适配器模式(Adapter)
  • Spring学习笔记——1
  • leetcode 406. 根据身高重建队列
  • Matlab实现AGNES算法
  • STM32F4_外部SRAM
  • Java的代理模式
  • FilterAttributeOnClassMethod
  • springboot + (mysql/pgsql) + jpa 多数据源(不同类数据源)
  • 【Golang】Golang进阶系列教程--Go 语言 context 都能做什么?
  • 画图干货!14种uml图类型及示例
  • 计算机视觉实验:人脸识别系统设计
  • 振弦采集仪完整链条的岩土工程隧道安全监测
  • NLP实战9:Transformer实战-单词预测
  • 使用Vue.js和Rust构建高性能的物联网应用
  • idea调节文字大小、日志颜色、git改动信息
  • 避免大龄程序员边缘化:如何在技术行业中保持竞争力
  • Jenkins工具系列 —— 启动 Jenkins 服务报错
  • 华为数通HCIA-实验环境ensp简介
  • SK5代理与IP代理:网络安全中的爬虫利器
  • 实战:Prometheus+Grafana监控Linux服务器及Springboot项目
  • [用go实现解释器]笔记1-词法分析
  • 在 spark-sql / spark-shell / hive / beeline 中粘贴 sql、程序脚本时的常见错误
  • 关于视频汇聚融合EasyCVR平台多视频播放协议的概述
  • 三星书画联展:三位艺术家开启国风艺术之旅
  • 在腾讯云服务器OpenCLoudOS系统中安装nginx(有图详解)
  • 大数据课程E5——Flume的Selector
  • 在线查看浏览器