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})
相关推荐
努力学习的小廉1 分钟前
深入了解linux系统—— System V之消息队列和信号量
android·linux·开发语言
华无丽言2 分钟前
如何简单实现发版不影响客户使用?nginx负载
linux·nginx
自由游戏开发者33 分钟前
用U盘启动制作centos系统最常见报错,系统卡住无法继续问题(手把手)
linux·运维·centos
Ronin3051 小时前
【Linux系统】vim编辑器 | 编译器gcc/g++ | make/Makefile
linux·运维·服务器·ubuntu·编辑器·vim
Bruce_Liuxiaowei1 小时前
Netstat高级分析工具:Windows与Linux双系统兼容的精准筛查利器
linux·运维·网络·windows·安全
yt948321 小时前
C#实现CAN通讯接口
java·linux·前端
linux修理工2 小时前
n1 armbian 安装桌面环境并启用xrdp远程登录
linux·服务器·数据库
花小璇学linux2 小时前
imx6ull-裸机学习实验1——汇编LED灯实验
linux·汇编·imx6ull·arm裸机开发
Brookty2 小时前
【操作系统】进程(二)内存管理、通信
java·linux·服务器·网络·学习·java-ee·操作系统
易德研发2 小时前
ubuntu24.04安装NFS网络文件系统/ARM开发板NFS挂载
运维·服务器·网络