ncnn之三(补充):window环境下vs2022安装ncnn+protobuf

启动VS2022 下面的 x64 Native Tools Command Prompt for VS2022
在这里插入图片描述

protobuf

git clone git@github.com:protocolbuffers/protobuf.git
 # 或者 下载 https://github.com/google/protobuf/archive/v3.11.2.zip
cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%cd%//install -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_MSVC_STATIC_RUNTIME=OFF ../cmake
nmake
nmake install

抽取include文件出来,为下一步编译做打算

$ ncnn_deploy\protobuf\build_vs2022\extract_includes.bat

ncnn

git clone git@github.com:Tencent/ncnn.git
cd ncnn
git submodule update --init
mkdir build
cd build
cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%cd%/install -DProtobuf_INCLUDE_DIR=E:/cpp_code/protobuf/build_vs2022/install/include -DProtobuf_LIBRARIES=E:/cpp_code/protobuf/build_vs2022/install/lib/libprotobuf.lib -DProtobuf_PROTOC_EXECUTABLE=E:/cpp_code/protobuf/build_vs2022/install/bin/protoc.exe -DNCNN_VULKAN=ON ..
nmake 
nmake install

如果git submodule update --init执行不成功的话,

git clone git@github.com:Tencent/ncnn.git
cd ncnn
mkdir build
cd build
cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%cd%/install -DProtobuf_INCLUDE_DIR=ncnn_deploy/protobuf/build_vs2022/install/include -DProtobuf_LIBRARIES=ncnn_deploy/protobuf/build_vs2022/install/lib/libprotobuf.lib -DProtobuf_PROTOC_EXECUTABLE=ncnn_deploy/protobuf/build_vs2022/install/bin/protoc.exe -DNCNN_VULKAN=OFF ..
nmake 
nmake install

1 复制 include
复制 ncnn\build\install\include目录内容 到ncnn_vs2022\include下

2 复制 lib

复制 ncnn\build\install\lib\ncnn.lib到ncnn_vs2022\lib

3 复制 exe

复制 ncnn\build\install\bin下 onnx2ncnn.exe 到ncnn_vs2022\exe
复制 ncnn\build\install\bin下ncnn2int8.exe 到ncnn_vs2022\exe
复制 ncnn\build\install\bin下ncnn2mem.exe 到ncnn_vs2022\exe
复制 ncnn\build\install\bin下ncnn2table.exe 到ncnn_vs2022\exe
复制 ncnn\build\install\bin下ncnnmerge.exe 到ncnn_vs2022\exe
复制 ncnn\build\install\bin下ncnnoptimize.exe 到ncnn_vs2022\exe

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/399680.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

node+vue3+mysql前后分离开发范式——实现视频文件上传并渲染

文章目录 ⭐前言⭐ 功能设计与实现💖 node上传文件写入file_map映射表💖 vue3前端上传文件回显⭐ 效果⭐结束⭐前言 大家好,我是yma16,本文分享关于 node+vue3+mysql前后分离开发范式——实现视频文件上传并渲染。 技术选型 前端:vite+vue3+antd 后端:node koa 数据库…

如何实现系统的高可用

一、SLA 当回答系统高可用时,就是回答这几个问题: 1、如何 评估系统高可用? 2、如何监控系统高可用? 3、如何保证系统高可用? 监控系统的内容: 基础设施监控有监控报警指标,分两部分内容&am…

CryptoPunks NFT 概览与数据分析

作者:stellafootprint.network 编译:cicifootprint.network 数据源:CryptoPunks NFT Collection Dashboard CryptoPunks 于 2017 年推出,是 NFT 热潮的先驱,拥有 10,000 个独特的角色,这些角色已成为…

学习python的第二天

已经隔了8天没学习了,期间虽然有在开发那个业绩管理系统,但是很多时间都在网易云里emo,逛着被她拉黑的主页,用老版本app看她的听歌排行,魔怔了,她爱听的歌我都听遍了;她的排行榜一更新&#xff…

​LeetCode解法汇总105. 从前序与中序遍历序列构造二叉树

目录链接: 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 描述: 给定两个整…

(十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用

前言 本节内容我们主要介绍在Jenkins流水线中,其构建过程中的一些构建策略的配置,例如通过远程http构建、定时任务构建、轮询SCM构建、参数化构建、Git hook钩子触发构建等,可根据不同的需求完成不同构建策略的配置。 正文 Throttle build…

如何使用CanaryTokenScanner识别Microsoft Office文档中的Canary令牌和可疑URL

关于CanaryTokenScanner CanaryTokenScanner是一款功能强大的Canary令牌和可疑URL检测工具,该工具基于纯Python开发,可以帮助广大研究人员快速检测Microsoft Office和Zip压缩文件中的Canary令牌和可疑URL。 在网络安全领域中,保持警惕和主动…

Failure [DELETE_FAILED_INTERNAL_ERROR]的解决办法

1.接上ADB 找到包名。 2 adb uninstall --user 0 com.subpos.client

2.20 day2 QT

自由发挥登录窗口的应用场景,实现一个登录窗口界面 #include "widget.h"Widget::Widget(QWidget *parent): QWidget(parent) {//窗口相关设置this->setWindowTitle("登入页面"); //设置 窗口 标题this->setWindowIcon(QIcon("D:…

ubuntu制作windows的u盘启动盘

概要: 本篇演示在ubuntu22.04中制作windows10的u盘启动盘 一、下载woeusb 1、下载woeusb 在浏览器中输入https://github.com/woeusb/woeusb/releases访问woeusb 点击红色矩形圈出来的部分,下载woeusb 2、安装wimtools wimtools是woeusb的一个必须的…

CentOS安装Docker(超详细)

文章目录 1.CentOS安装Docker1.1.卸载(可选)1.2.安装docker1.3.启动docker1.4.配置镜像加速 2.CentOS安装DockerCompose2.1.下载2.2.修改文件权限2.3.Base自动补全命令: 3.Docker镜像仓库3.1.简化版镜像仓库3.2.带有图形化界面版本3.3.配置Do…

Git基本指令

从远程拉代码 git clone gitgitlab-internal.wedobest.com.cn:dengyanhui/gittest.git添加所有文件到待上传列表 git add .提交 git commit -m message推送 git push获取现在的状态 git status更新本地代码 git pullgit拉取某一分支代码 git clone -b develop XXX本地删除…

【Oracle】玩转Oracle数据库(三):数据库的创建和管理

前言 嘿,各位数据库小能手们!今天我们要进入数据库的创世纪,探索Oracle数据库的创建和管理!🔧💻 在这篇博文【Oracle】玩转Oracle数据库(三):数据库的创建和管理中&#…

Redis面试题关于持久化的问题

什么是Redis持久化?Redis有哪几种持久化方式?优缺点是什么? 持久化就是把内存的数据写到磁盘中去,防止服务宕机了内存数据丢失。 Redis 提供了两种持久化方式:RDB(默认) 和AOF RDB: rdb是Red…

【LeetCode】无权图的最短路精选7题——单源、多源

目录 无权图的单源最短路问题: 1. 迷宫中离入口最近的出口(中等) 2. 最小基因变化(中等) 3. 单词接龙(困难) 4. 为高尔夫比赛砍树(困难) 无权图的多源最短路问题&a…

开源CMS Drupal本地快速部署并实现无公网ip环境远程访问

文章目录 前言1. Docker安装Drupal2. 本地局域网访问3 . Linux 安装cpolar4. 配置Drupal公网访问地址5. 公网远程访问Drupal6. 固定Drupal 公网地址 前言 Dupal是一个强大的CMS,适用于各种不同的网站项目,从小型个人博客到大型企业级门户网站。它的学习…

蓝桥杯嵌入式第12届真题(完成) STM32G431

蓝桥杯嵌入式第12届真题(完成) STM32G431 题目 程序 main.c /* USER CODE BEGIN Header */ /********************************************************************************* file : main.c* brief : Main program body**************************…

【业务功能篇135】多线程+countDownLatch执行大数据量定时任务

对于业务中存在一些功能需求,业务逻辑复杂且数据量大,过程处理也就比较繁琐,如果直接在单线程同步执行,效率就比较低了,所以我们需要利用多线程,开启多个线程去把任务分线程异步执行,这些效率就…

【java】小学生数学练习题目生成系统

本文章主要是CSDN-问答板块,有题主提出的问题,我这边将完整代码提供出来,仅供大家参考学习! 一、效果截图 二、直接上代码 package com.example.dingtalk.question;import javax.script.ScriptEngine; import javax.script.Scrip…

点成分享|如何让地球更绿,它能给你答案

一、背景介绍 随着全球经济的飞速发展,环境问题也日益严重。现代社会面临着诸如全球变暖、气候异常、空气和水质污染等诸多环境问题。其中,温室气体的排放是导致全球变暖的主要原因之一。温室气体的排放量上升加剧气候异常,影响人类生存和自…