linux c++ 开发 tensorrt 安装

tensorrt 官方下载地址(需要注册账号登录):Log in | NVIDIA Developer

根据系统发行版和CUDA版本 (nvcc -V) 选择合适的安装包

EA(early access)版本代表抢先体验。
GA(general availability)代表稳定版,经过全面测试。
建议选用 TensorRT 最新版本的 GA release 

为了不影响系统环境,只进行单个 C++ 项目的开发,这里选用 TAR Package,解压即用,无需安装。 

tar -zxvf TensorRT-8.6.1.6.Linux.x86_64-gnu.cuda-11.8.tar.gz

cmake 文件参考

cmake_minimum_required(VERSION 3.1)

set(CMAKE_CUDA_ARCHITECTURES 60 61 62 70 72 75 86)
set(CMAKE_CUDA_COMPILER /usr/local/cuda/bin/nvcc)

project(yolov8 LANGUAGES CXX CUDA)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -O3")
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_BUILD_TYPE Release)
option(CUDA_USE_STATIC_CUDA_RUNTIME OFF)

# CUDA
find_package(CUDA REQUIRED)
message(STATUS "CUDA Libs: \n${CUDA_LIBRARIES}\n")
get_filename_component(CUDA_LIB_DIR ${CUDA_LIBRARIES} DIRECTORY)
message(STATUS "CUDA Headers: \n${CUDA_INCLUDE_DIRS}\n")

# OpenCV
set(OpenCV_DIR "/home/c++/lib/opencv-4.8.1/build")
find_package(OpenCV REQUIRED)
message(STATUS "OpenCV Libs: \n${OpenCV_LIBS}\n")
message(STATUS "OpenCV Libraries: \n${OpenCV_LIBRARIES}\n")
message(STATUS "OpenCV Headers: \n${OpenCV_INCLUDE_DIRS}\n")

# TensorRT
set(TensorRT_INCLUDE_DIRS "/home/c++/lib/TensorRT-8.6.1.6/include")
set(TensorRT_LIBRARIES "/home/c++/lib/TensorRT-8.6.1.6/lib")
set(TensorRT_LIB1 "/home/c++/lib/TensorRT-8.6.1.6/lib/libnvinfer.so")
set(TensorRT_LIB2 "/home/c++/lib/TensorRT-8.6.1.6/lib/libnvinfer_plugin.so")


message(STATUS "TensorRT Libs: \n${TensorRT_LIBRARIES}\n")
message(STATUS "TensorRT Headers: \n${TensorRT_INCLUDE_DIRS}\n")

list(APPEND INCLUDE_DIRS
        ${CUDA_INCLUDE_DIRS}
        ${OpenCV_INCLUDE_DIRS}
        ${TensorRT_INCLUDE_DIRS}
        include
        )

list(APPEND ALL_LIBS
        ${CUDA_LIBRARIES}
        ${CUDA_LIB_DIR}
        ${OpenCV_LIBRARIES}
        ${TensorRT_LIBRARIES}
        )

include_directories(${INCLUDE_DIRS})

add_executable(${PROJECT_NAME}
        main.cpp
        include/yolov8.hpp
        include/common.hpp
        )

link_directories(${ALL_LIBS})
target_link_libraries(${PROJECT_NAME} PRIVATE ${CUDA_LIBRARIES} ${OpenCV_LIBS} ${TensorRT_LIB1} ${TensorRT_LIB2})

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

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

相关文章

文件对比工具Beyond Compare 4 mac v4.4.7(28397)中文版

Beyond Compare是一款适用于Windows、Mac OS X和Linux平台的文件和文件夹比较工具。它可以帮助用户比较和同步文件夹、文件和压缩包等内容,支持多种文件格式,如文本、图像、音频、视频等。 软件下载:Beyond Compare 4 mac v4.4.7(28397)中文版…

如何在Node.js中使用定时器

在Node.js中使用定时器是一项常见且重要的任务,特别是在需要执行定时任务或者轮询操作的情况下。Node.js提供了多种方式来实现定时器功能,包括setTimeout、setInterval和setImmediate等方法。本篇博客将介绍如何在Node.js中使用这些定时器,并…

WPF真入门教程30--顺风物流单据管理系统

1、教程回顾 到现在为止,真入门系列教程已完成了29刺由浅入深地讲解,当然不可能讲到了WPF的所有技能点,但读者看到了wpf的内部各种功能及之间的联系,在此基础上,提供一个完整有效的综合项目,本项目采用的是…

期货开户保证金保障市场正常运转

期货保证金是什么?在期货市场上,采取保证金交易制度,投资者只需按期货合约的价值,交一定比率少量资金即可参与期货合约买卖交易,这种资金就是期货保证金。期货保证金(以下简称保证金〕按性质与作用的不同。…

AGV搬运机器人能给企业带来哪些效益?

agv 当前物流行业正在以每年40%的速度快速增长,却依然是典型的劳动密集型行业。随着机器人技术的崛起,传统物流行业也开始加大对物流科技设备的研发。AGV机器人被广泛应用于整个仓储系统内,疏解了一部分人力的负担,使后台工作更加…

使用Azure下载数据集方法

首先需要获取到下载的链接,例如: https://aimistanforddatasets01.blob.core.windows.net/cocacoronarycalciumandchestcts-2?sv2019-02-02&src&sigHvhvAtJ7KRr1uIZkjkANqozGvOsqlamMDOKcQegYLrw%3D&st2024-02-29T11%3A55%3A45Z&se2024…

水豚鼠标助手 强大的鼠标美化工具

水豚鼠标助手 水豚鼠标助手是一款 鼠标换肤、屏幕画笔、放大镜、聚光灯、屏幕放大、倒计时功能的强大屏幕演示工具。 软件助手获取 水豚鼠标助手1.0.0 安装教程 第一步:下载后,双击软件安装包 第二步:Windows可能会出现提示弹窗&#xff…

Mac 制作可引导安装器

Mac 使用U盘或移动固态硬盘制作可引导安装器(以 Monterey 为例) 本教程参考 Apple 官网相关教程 创建可引导 Mac OS 安装器 重新安装 Mac OS 相关名词解释 磁盘分区会将其划分为多个单独的部分,称为分区。分区也称为容器,不同容器…

Docker(运维工具)—— 学习笔记

快速构建、运行、管理应用的工具 一、安装docker 参考Install Docker Engine on Ubuntu | Docker Docs 二、快速入门 1、镜像和容器 docker镜像可以做到忽略操作系统的差异,跨平台运行,忽略安装的差异 当我们利用Docker安装应用时,Dock…

环境配置 |Jupyter lab/Jupyter Notebook 安装与设置

ipynb使用Jupyterlab/Jupyter Notebook 来编写Python程序时的文件,在使用时,可以现转换为标准的.py的python文件 1.Jupyter Lab 1.1.下载安装 环境:Linux pip install jupyterlab 1.2.使用 jupyter lab 点击后进入 1.3.jupyter lab更换内核 因为我的是在anac…

3d图形学基础(一):向量与坐标系

文章目录 1.1 向量与坐标系1.1.1 向量与坐标系的应用1.1.2 完整测试代码 1.1 向量与坐标系 1.1.1 向量与坐标系的应用 零向量: 零向量是没有方向的向量; 负向量: 负向量是与原向量方向相反、长度相等的向量; 向量的模&#xf…

MySQL学习Day24—数据库的设计规范

一、数据库设计的重要性: 1.糟糕的数据库设计产生的问题: (1)数据冗余、信息重复、存储空间浪费 (2)数据更新、插入、删除的异常 (3)无法正确表示信息 (4)丢失有效信息 (5)程序性能差 2.良好的数据库设计有以下优点: (1)节省数据的存储空间 (2)能够保证数据的完整性 …

matlab:涉及复杂函数图像的交点求解

matlab:涉及复杂函数图像的交点求解 在MATLAB中求解两个图像的交点是一个常见的需求。本文将通过一个示例,展示如何求解两个图像的交点,并提供相应的MATLAB代码。 画出图像 首先,我们需要绘制两个图像,以便直观地看…

模拟算法题练习(二)(DNA序列修正、无尽的石头)

(一、DNA序列修正) 问题描述 在生物学中,DNA序列的相似性常被用来研究物种间的亲缘关系。现在我们有两条 DNA序列,每条序列由 A、C、G、T 四种字符组成,长度相同。但是现在我们记录的 DNA序列存在错误,为了…

Elasticsearch入门-环境安装ES和Kibana以及ES-Head可视化插件和浏览器插件es-client

Elasticsearch入门-环境安装ES和Kibana 安装 ES Windows安装ESHead安装浏览器插件 es-clientKibana 安装 安装es,安装header 安装kibana,安装多种分词器ik… 安装 ES Windows安装 ① 下载压缩包并解压官网链接:https://www.elastic.co/cn/downloads/ela…

【MATLAB】兔子机器人腿部_simulink模型解读(及simulink中的simscape的各模块介绍)

一、动力学模型 总系统引脚含义 关节电机 Fcn 搭建方程,输入与输入方程 phi1 -q 大腿 小腿同理 车轮 另一边对称 虚拟腿传感器 二、控制模型 VMC解算五连杆 Pulse Generator 腿长控制器PID leg_conv.m:可由虚拟腿目标扭矩和推力求得电机所需…

通过jenkins进行部署java程序到centos上

1.通过jumpserver访问到centos上,准备下java环境 // step1: 先编辑下 vim /etc/profile// step2: 编写好环境变量 JAVA_HOME/usr/local/java export JAVA_HOME export ZOOKEEPER_HOME/opt/zookeeper/apache-zookeeper-3.7.0-bin PATH$PATH:$JAVA_HOME/bin:$ZOOKEEP…

正信晟锦:借了钱的人一直不接电话不回信息咋办

在金钱往来中,遇到借出的钱款无法按时回收,且借款人如同人间蒸发一般不接电话、不回信息,确实让人焦虑。面对这种情形,我们需采取明智而有效的措施,以保护自身的权益。 首要策略是保持冷静,不要让情绪主导行…

民间最大的天涯社区宣布:今起,全面恢复!

想到去年一则不起眼的消息:天涯社区已经无法打开。 时代抛弃你的时候,都不说一声再见,现实就是这样残酷。 在互联网的浩瀚星河中,天涯社区曾是最亮的那颗星星,见证了无数网友的青春岁月。 记得我读大学的时候&#xff…

npm使用国内淘宝镜像的方法整理

命令配置安装: 淘宝镜像: npm config set registry https://registry.npm.taobao.org/ 官方镜像: npm config set registry https://registry.npmjs.org 通过cnpm安装: npm install -g cnpm --registryhttps://registry.npm.…