Visual Studio 2022新建 cmake 工程测试 tensorRT 自带样例 sampleOnnxMNIST

1. 新建 cmake 工程 vs2022_cmake_sampleOnnxMNIST_test( 如何新建 cmake 工程,请参考博客:Visual Studio 2022新建 cmake 工程测试 opencv helloworld )

2. 删除默认生成的 vs2022_cmake_sampleOnnxMNIST_test.h 头文件

3. 修改默认生成的 vs2022_cmake_sampleOnnxMNIST_test.cpp 文件,将内容替换为目录:

D:\install\tensorRT\TensorRT-8.6.1.6\samples\sampleOnnxMNIST

 下的 sampleOnnxMNIST.cpp 文件的内容。

4. 发现 D:\install\tensorRT\TensorRT-8.6.1.6\samples\sampleOnnxMNIST 中的 sample_onnx_mnist.vcxproj 文件中有如下内容:

 <ItemGroup><ClCompile Include="sampleOnnxMNIST.cpp" /><ClCompile Include="../common/getopt.c" /><ClCompile Include="../common/logger.cpp" /></ItemGroup>

于是将:

 D:\install\tensorRT\TensorRT-8.6.1.6\samples\common

下的 getopt.c和 logger.cpp文件复制到该工程中( 即 vs2022_cmake_sampleOnnxMNIST_test.cpp 所在的目录 ),并修改 CMakeLists.txt 中的 add_executable 指令,修改为如下所示:

add_executable("vs2022_cmake_sampleOnnxMNIST_test" "vs2022_cmake_sampleOnnxMNIST_test.cpp" "getopt.c" "logger.cpp")

5. 用 Everything 查找 D:\install\tensorRT\TensorRT-8.6.1.6\samples\sampleOnnxMNIST 中的 sample_onnx_mnist.vcxproj 文件中的 标签 <AdditionalDependencies> 中的 :

nvinfer.lib;
nvinfer_plugin.lib;
nvonnxparser.lib;
nvparsers.lib;
cudnn.lib;
cublas.lib;
cudart.lib;

这几个静态库文件所在的目录,发现都是在:

C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/lib/x64/

目录中,于是修改 CMakeLists.txt,在 add_executable 指令前面新加:

link_directories( "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/lib/x64" )link_libraries( 	nvinfer nvinfer_pluginnvonnxparsernvparserscudnncublascudart  )

指令用来连接库cuda( 还是 tensorRT的??? )的静态库文件。

6. 发现 D:\install\tensorRT\TensorRT-8.6.1.6\samples\sampleOnnxMNIST\sample_onnx_mnist.vcxproj 文件中的 <AdditionalIncludeDirectories > 标签中有如下内容:

..\..\include;
..\common;
..\common\windows;
$(CUDA_PATH)\include;

于是在 CMakeLists.txt 中加入:

include_directories( "D:/install/tensorRT/TensorRT-8.6.1.6/samples/common" "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/include" )

用来加入头文件。

ps:"..\..\include" 表示的是 D:\install\tensorRT\TensorRT-8.6.1.6\include,为啥没有将其加入到 include_directories 指令中呢?因为安装 tensorRT 的时候已经将该目录下的头文件复制到:

C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/include

 中了。

7. 最终的 CMakeLists.txt 如下所示:

cmake_minimum_required (VERSION 3.8)add_compile_options( "$<$<C_COMPILER_ID:MSVC>:/utf-8>" )
add_compile_options( "$<$<CXX_COMPILER_ID:MSVC>:/utf-8>" )# 如果支持,请为 MSVC 编译器启用热重载。
if (POLICY CMP0141)cmake_policy(SET CMP0141 NEW)set(CMAKE_MSVC_DEBUG_INFORMATION_FORMAT "$<IF:$<AND:$<C_COMPILER_ID:MSVC>,$<CXX_COMPILER_ID:MSVC>>,$<$<CONFIG:Debug,RelWithDebInfo>:EditAndContinue>,$<$<CONFIG:Debug,RelWithDebInfo>:ProgramDatabase>>")
endif()project("vs2022_cmake_sampleOnnxMNIST_test")include_directories( "D:/install/tensorRT/TensorRT-8.6.1.6/samples/common" "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/include" )link_directories( "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/lib/x64" )link_libraries( 	nvinfer nvinfer_pluginnvonnxparsernvparserscudnncublascudart  )# 将源代码添加到此项目的可执行文件。
add_executable("vs2022_cmake_sampleOnnxMNIST_test" "vs2022_cmake_sampleOnnxMNIST_test.cpp" "getopt.c" "logger.cpp")if (CMAKE_VERSION VERSION_GREATER 3.12)set_property(TARGET vs2022_cmake_sampleOnnxMNIST_test PROPERTY CXX_STANDARD 20)
endif()

8. 编译、执行成功:

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker简单快速入门

1. 安装Docker 基于 Ubuntu 24.04 LTS 安装Docker 。 # 更新包索引并安装依赖包 sudo apt-get update sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common# 添加Docker的官方GPG密钥并存储在正确的位置 curl -fsSL https://mirror…

叮!2024 龙蜥操作系统大会议题征集正式启动

定啦&#xff01;2024 龙蜥操作系统大会&#xff08;OpenAnolis Conference&#xff0c;以下简称“龙蜥大会”&#xff09;将于 2024 年 8 月 30 日在北京中关村国家自主创新示范区会议中心盛大召开。 2024 龙蜥大会由中关村科学城管委会、海淀区委网信办、中国开源软件推进联…

Python从0到100(四十三):数据库与Django ORM 精讲

前言&#xff1a; 零基础学Python&#xff1a;Python从0到100最新最全教程。 想做这件事情很久了&#xff0c;这次我更新了自己所写过的所有博客&#xff0c;汇集成了Python从0到100&#xff0c;共一百节课&#xff0c;帮助大家一个月时间里从零基础到学习Python基础语法、Pyth…

Arduino学习笔记1——IDE安装与起步

一、IDE安装 去浏览器直接搜索Arduino官网&#xff0c;点击Software栏进入下载界面&#xff0c;选择Windows操作系统&#xff1a; 新版IDE下载不需要提前勾选所下载的拓展包&#xff0c;下载好后直接点击安装即可。 安装好后打开Arduino IDE&#xff0c;会自动开始下载所需的…

World of Warcraft [CLASSIC] Timebadge

游戏币【每个服务器实时金价不一样&#xff0c;本例子是5000-6000金】 1枚【魔兽世界时光徽章】 30天游戏时间。 5760金币游戏币&#xff0c;策划如何消耗游戏里面的金币总量&#xff0c;以及如何留住那些非人民币玩家呢 30天加上去了 World of Warcraft [CLASSIC] [魔兽世界…

怎么使用动态IP地址上网

如何设置动态IP地址上网&#xff1f; 设置动态IP地址上网的步骤如下&#xff1a; 一、了解动态IP地址 动态IP地址是由网络服务提供商&#xff08;ISP&#xff09;动态分配给用户的IP地址&#xff0c;它会根据用户的需求和网络情况实时改变。相比于静态IP地址&#xff0c;动态…

使用VuePress-Reco快速搭建博客(保姆级)

简介&#xff1a;VuePress-Reco 一款简洁的 vuepress 博客 & 文档 主题&#xff0c;可以自由搭建自己的风格&#xff0c;比较方便简洁。 链接&#xff1a;vuepress-reco 准备环境&#xff1a; Node.Js >20.5.0&#xff0c;Npm > 10.8.2 OR Yarn > 1.22.19 注&am…

七、SpringBoot日志

1. 得到日志对象 import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; //打印日志…

【Django】django模板与前端技术(html模板)

文章目录 “python包html”还是“html包python”?1.新建模板2.模板语法3.views.py测试 “python包html”还是“html包python”? 在前端页面中html代码比python多得多&#xff0c;所以一定是html包python最优&#xff01;于是引出今天的模板。 大体分为三个步骤&#xff1a;…

独立站外链如何影响搜索引擎排名?

独立站的外链对搜索引擎排名有着非常重要的影响。简单来说&#xff0c;外链就像是别的网站对你的网站投的信任票。每一条外链都告诉搜索引擎&#xff1a;“这个网站的内容是有价值的&#xff0c;值得推荐。”因此&#xff0c;外链的数量和质量直接影响你的网站在搜索引擎中的排…

Lc60---1189. “气球” 的最大数量(排序)---Java版

1.题目 2.思路 (1)用字典的方法,ballon,这个单词里面每个字母&#xff0c;需要的个数 (2)再创一个字典的方法统计&#xff0c;输入的字符串的字母的个数 (3)计算能拼凑出多少个“ballon" (4)代码解释 for (char c : text.toCharArray()) {count.put(c, count.getOrDefau…

vue3编程-import.meta.glob实现动态路由(菜单)

import.meta.glob 是vite提供的批量懒加载组件的方法 本地开发环境&#xff1a; const modules import.meta.glob(../views/**/*.vue)这段代码返回的modules是一个Map&#xff1a; key是vue文件的相对路径&#xff0c;值是一个函数&#xff0c;将函数打印出来&#xff0c;如…

Python鲁汶意外莱顿复杂图拓扑分解算法

&#x1f3af;要点 &#x1f3af;算法池化和最佳分区搜索&#xff1a;&#x1f58a;网格搜索 | &#x1f58a;发现算法池 | &#x1f58a;返回指定图的最佳划分 | &#x1f58a;返回指定图的最佳分区 | &#x1f3af;适应度和聚类比较功能&#xff1a;&#x1f58a;图的划分 |…

Python3网络爬虫开发实战(1)爬虫基础

一、URL 基础 URL也就是网络资源地址&#xff0c;其满足如下格式规范 scheme://[username:password]hostname[:port][/path][;parameters][?query][#fragment] scheme&#xff1a;协议&#xff0c;常用的协议有 Http&#xff0c;https&#xff0c;ftp等等&#xff1b;usern…

构建高效园区导览系统:基于3DGIS与物联网技术的实现方案

园区导航的挑战与机遇 在现代化的大型园区中&#xff0c;随着面积的不断扩张和布局的日益复杂&#xff0c;传统的纸质地图已难以满足日益增长的导航需求。每栋楼、每层楼都有着不同的办公室&#xff0c;不同的业务。这种低效的寻路过程不仅影响了客户的来访体验&#xff0c;也…

Flink时间和窗口

目录 时间语义 水位线&#xff08;Watermarks&#xff09; 并行流中的水位线 窗口 滚动窗口—Tumbling Windows 滑动窗口—Sliding Windows 会话窗口—Session Windows 全局窗口—Global Windows 例子 时间语义 如图所示&#xff0c;由事件生成器&#xff08;Event Pr…

LeetCode - #103 二叉树的锯齿形层序遍历

文章目录 前言1. 描述2. 示例3. 答案关于我们 前言 我们社区陆续会将顾毅&#xff08;Netflix 增长黑客&#xff0c;《iOS 面试之道》作者&#xff0c;ACE 职业健身教练。&#xff09;的 Swift 算法题题解整理为文字版以方便大家学习与阅读。 LeetCode 算法到目前我们已经更新…

雪花算法 集群uid重复问题 uid-generator-spring-boot-starter

1、在生成环境 在某个业务使用该插件生成uid,由于业务整合了 mybatis-plus模块 2、该业务是分部署集群部署以及使用的多线程获取uid&#xff0c;使用中发现唯一建冲突&#xff0c;生成的uid有重复。 然后查看日志发现 workerId 始终为0 怀疑是生成workerId出了问题。 查看跟…

饥荒dst联机服务器搭建基于Ubuntu

目录 一、服务器配置选择 二、项目 1、下载到服务器 2、解压 3、环境 4、启动面板 一、服务器配置选择 首先服务器配置需要2核心4G&#xff0c;4G内存森林加洞穴大概就占75% 之后进行服务器端口的开放&#xff1a; tcp:8082 tcp:8080 UDP:10888 UDP:10998 UDP:10999 共…

前端:Vue学习 - 购物车项目

前端&#xff1a;Vue学习 - 购物车项目 1. json-server&#xff0c;生成后端接口2. 购物车项目 - 实现效果3. 参考代码 - Vuex 1. json-server&#xff0c;生成后端接口 全局安装json-server&#xff0c;json-server官网为&#xff1a;json-server npm install json-server -…