当前位置: 首页 > 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的编译

相关文章:

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&#xff1a;https://github.com/google/protobuf/archive/v3.11…...

C++和Lua交互总结

C和Lua交互总结 Chapter1. C和Lua交互总结一、Lua与C的交互机制——Lua堆栈二、堆栈的操作三、C 调用 Lua1&#xff09;C获取Lua值2&#xff09;C调用Lua函数示例&#xff1a; 四、Lua 调用 C包装C函数 最后总结一下 Chapter1. C和Lua交互总结 原文链接&#xff1a;https://bl…...

nvm安装和切换node版本

1、nvm list查看已安装的node版本 2、查看当前使用的npm和node版本 3、安装某版本的node 4、 切换node版本...

每日一题8.2 2536

2536. 子矩阵元素加 1 给你一个正整数 n &#xff0c;表示最初有一个 n x n 、下标从 0 开始的整数矩阵 mat &#xff0c;矩阵中填满了 0 。 另给你一个二维整数数组 query 。针对每个查询 query[i] [row1i, col1i, row2i, col2i] &#xff0c;请你执行下述操作&#xff1a;…...

适配器模式(Adapter)

适配器模式用于将一个接口转换成用户希望的另一个接口&#xff0c;适配器模式使接口不兼容的那些类可以一起工作&#xff0c;其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式&#xff0c;也可以作为对象结构型模式。 Adapter is a structural design pattern that…...

Spring学习笔记——1

Spring学习笔记——1 一、Spring入门1.1、学习路线1.2、传统Javaweb开发困惑及解决方法1.3、三种思想的提出和框架概念1.3.1、IoC、DI和AOP思想提出1.3.2、框架的基本特点 1.4、Spring概述1.5、BeanFactory快速入门1.6、ApplicationContext快速入门1.7、BeanFactory与Applicati…...

leetcode 406. 根据身高重建队列

2023.8.2 这题一开始有点让人懵逼的是有两个维度&#xff0c;一个是身高&#xff0c;还一个是前面人高于自己的人数。这种题一般需要先固定一个维度&#xff0c;再去确定另外一个维度&#xff0c;不要想着兼顾。 经过纸上模拟&#xff0c;我的思路是先通过身高进行从大到小排序…...

Matlab实现AGNES算法

在数据分析和机器学习中&#xff0c;聚类是一种常用的无监督学习方法&#xff0c;它可以将数据点按照某种相似度标准进行分组&#xff0c;从而发现数据中的结构和模式。聚类算法有很多种&#xff0c;其中一种比较经典的是AGNES算法&#xff0c;它是一种基于层次的聚类算法&…...

STM32F4_外部SRAM

目录 前言 1. SRAM控制原理 1.1 SRAM功能框图 1.2 SRAM读写时序 2. FSMC简介 2.1 FSMC架构 2.2 FSMC地址映射 2.3 FSMC控制SRAM时序 3. FSMC结构体 4. 库函数配置FSMC 5. 实验程序 5.1 main.c 5.2 SRAM.c 5.3 SRAM.h 前言 STM32F4自带了192K字节的SRAM&#xff1…...

Java的代理模式

java有三种代理模式 静态代理 jdk动态代理 cglib实现动态代理 代理模式的定义&#xff1a; 为其他对象提供一种代理以控制对这个对象的访问。在某些情况下&#xff0c;一个对象不适合或者不能直接引用另一个对象&#xff0c;而代理对象可以在客户端和目标对象之间起到中介的…...

FilterAttributeOnClassMethod

目录 1 BadMethodFilterAttribute 2 FilterAttributeOnClassMethod 2.1 OnMethodExecuted 2.2 OnMethodExecutedAsync 2.3 OnMethodExecuting BadMethodFilterAttribute using System; using System.Threading.Tasks; namespace Flatwhite.Core.Tests.Attributes …...

springboot + (mysql/pgsql) + jpa 多数据源(不同类数据源)

配置文件&#xff1a; spring:datasource:primary:jdbc-url: jdbc:mysql://host:3306/数据库?useUnicodetrue&characterEncodingUTF-8&autoReconnecttrue&failOverReadOnlyfalse&serverTimezoneAsia/Shanghai&zeroDateTimeBehaviorconvertToNullusername…...

【Golang】Golang进阶系列教程--Go 语言 context 都能做什么?

文章目录 前言核心是 Context 接口&#xff1a;包含四个方法&#xff1a;遵循规则WithCancelWithDeadlineWithTimeoutWithValue 前言 很多 Go 项目的源码&#xff0c;在读的过程中会发现一个很常见的参数 ctx&#xff0c;而且基本都是作为函数的第一个参数。 为什么要这么写呢…...

画图干货!14种uml图类型及示例

1. 什么是 UML UML 是统一建模语言的缩写。UML 图是基于 UML&#xff08;统一建模语言&#xff09;的图表&#xff0c;目的是直观地表示系统及其主要参与者、角色、动作、工件或类&#xff0c;以便更好地理解、更改、维护或记录信息关于系统。简而言之&#xff0c;UML 是一种…...

计算机视觉实验:人脸识别系统设计

实验内容 设计计算机视觉目标识别系统&#xff0c;与实际应用有关&#xff08;建议&#xff1a;最终展示形式为带界面可运行的系统&#xff09;&#xff0c;以下内容选择其中一个做。 1. 人脸识别系统设计 (1) 人脸识别系统设计&#xff08;必做&#xff09;&#xff1a;根据…...

振弦采集仪完整链条的岩土工程隧道安全监测

振弦采集仪完整链条的岩土工程隧道安全监测 隧道工程是一种特殊的地下工程&#xff0c;其建设过程及运行期间&#xff0c;都受到各种内外力的作用&#xff0c;如水压、地震、地质变形、交通荷载等&#xff0c;这些因素都会对隧道的安全性产生影响。因此&#xff0c;对隧道的安…...

NLP实战9:Transformer实战-单词预测

目录 一、定义模型 二、加载数据集 三、初始化实例 四、训练模型 五、评估模型 &#x1f368; 本文为[&#x1f517;365天深度学习训练营]内部限免文章&#xff08;版权归 *K同学啊* 所有&#xff09; &#x1f356; 作者&#xff1a;[K同学啊] 模型结构图&#xff1a; &a…...

使用Vue.js和Rust构建高性能的物联网应用

物联网(IoT)应用是现代技术的重要组成部分&#xff0c;它们可以在各种场景中&#xff08;例如智能家居&#xff0c;工业自动化等&#xff09;提供无缝的自动化解决方案。在这篇文章中&#xff0c;我们将探讨如何使用Vue.js和Rust构建高性能的物联网应用。 1. 为什么选择Vue.js…...

idea调节文字大小、日志颜色、git改动信息

idea调节菜单栏文字大小&#xff1a; 调节代码文字大小&#xff1a; 按住ctrl滚动滑轮可以调节代码文字大小&#xff1a; 单击文件即可在主窗口上打开显示&#xff1a; idea在控制台对不同级别的日志打印不同颜色 &#xff1a; “grep console”插件 点击某一行的时候&#x…...

避免大龄程序员边缘化:如何在技术行业中保持竞争力

目录 导语持续学习和进修维护专业形象寻找适合自己的领域构建个人品牌和网络拥抱变化和创新实例结语&#xff1a; 导语 导语&#xff1a;随着科技的不断发展&#xff0c;技术行业的竞争日益激烈。对于那些年龄稍长的程序员来说&#xff0c;如何保持竞争力并避免边缘化成为了一…...

Steam创意工坊下载器深度解析:WorkshopDL架构揭秘与实战指南

Steam创意工坊下载器深度解析&#xff1a;WorkshopDL架构揭秘与实战指南 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 在跨平台游戏生态日益成熟的今天&#xff0c;Steam创意…...

uView 2.0组件源码深度剖析:理解核心实现原理与设计思想

uView 2.0组件源码深度剖析&#xff1a;理解核心实现原理与设计思想 【免费下载链接】uView2.0 uView UI&#xff0c;是全面兼容nvue的uni-app生态框架&#xff0c;全面的组件和便捷的工具会让您信手拈来&#xff0c;如鱼得水 项目地址: https://gitcode.com/gh_mirrors/uv/u…...

10分钟打造专业级科研图表:SciencePlots终极美化指南

10分钟打造专业级科研图表&#xff1a;SciencePlots终极美化指南 【免费下载链接】SciencePlots Matplotlib styles for scientific plotting 项目地址: https://gitcode.com/gh_mirrors/sc/SciencePlots 还在为科研论文中的图表不够专业而烦恼吗&#xff1f;SciencePlo…...

Sunshine游戏串流服务器:如何5分钟内搭建私人云游戏平台?

Sunshine游戏串流服务器&#xff1a;如何5分钟内搭建私人云游戏平台&#xff1f; 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 想象一下&#xff0c;将你的高性能游戏PC变成一个…...

游戏AI战略逻辑:状态建模、奖励设计与实时决策三要素

1. 项目概述&#xff1a;当机器开始玩我们的游戏&#xff0c;背后不是炫技&#xff0c;而是逻辑的具象化“当机器开始玩我们的游戏”——这句话乍听像科幻片开场白&#xff0c;但现实中它早已不是新闻。AlphaGo击败李世石那盘棋之后&#xff0c;很多人以为AI下棋只是算法碾压人…...

老旧小区门禁改造:业主权益与合规指引

一、费用来源与使用规范小区门禁改造并非全部由业主自费承担&#xff0c;可按合规渠道统筹资金&#xff0c;优先使用公共补贴与专项维修资金。资金使用优先级&#xff1a;政府老旧小区改造财政补贴&#xff1e;住宅专项维修资金&#xff1e;业主自筹财政补贴&#xff1a;老旧小…...

HTTP安全头配置陷阱与三层验证修复指南

1. 这不是“配个Header”就能糊弄过去的事很多人看到“Web服务器HTTP设置漏洞”第一反应是&#xff1a;不就是加几个Strict-Transport-Security、X-Content-Type-Options头吗&#xff1f;改两行配置&#xff0c;跑个在线扫描工具显示“绿色✓”&#xff0c;就关掉工单、打上“已…...

智能交易系统:如何用AI重塑你的投资决策流程?

智能交易系统&#xff1a;如何用AI重塑你的投资决策流程&#xff1f; 【免费下载链接】TradingAgents-CN 基于多智能体LLM的中文金融交易框架 - TradingAgents中文增强版 项目地址: https://gitcode.com/GitHub_Trending/tr/TradingAgents-CN 在量化投资的世界里&#x…...

NebulaGraph Console终极指南:简单快速掌握图数据库命令行工具

NebulaGraph Console终极指南&#xff1a;简单快速掌握图数据库命令行工具 【免费下载链接】nebula-console Command line interface for the Nebula Graph service 项目地址: https://gitcode.com/gh_mirrors/ne/nebula-console NebulaGraph Console是NebulaGraph图数据…...

ElevenLabs支持闽南语吗?福建话语音合成实测:从API调用到音色克隆的7步通关手册

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ElevenLabs福建话语音支持现状与能力边界 ElevenLabs 目前尚未在官方语音模型库中提供对福建话&#xff08;含闽南语、闽东语等分支&#xff09;的原生支持。其公开文档与 API 文档均未列出任何以“Fuj…...