TensorRT路径
include:/usr/include/aarch64-linux-gnu
lib: /usr/lib/aarch64-linux-gnu
tensorrt:/usr/src/tensorrt
CUDA路径
include:/usr/local/cuda/include
lib: /usr/local/cuda/lib64
CMake
cmake_minimum_required(VERSION 3.10)
project(trt_demo LANGUAGES CXX CUDA)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_CUDA_STANDARD 11)
set(CMAKE_CUDA_STANDARD_REQUIRED ON)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CUDA_COMPILER /usr/local/cuda/bin/nvcc)
include_directories(/usr/include/aarch64-linux-gnu)
link_directories(/usr/lib/aarch64-linux-gnu)
set(CUDA_ROOT /usr/local/cuda)
include_directories(${CUDA_ROOT}/include/)
link_directories(${CUDA_ROOT}/lib64)
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
link_libraries(${OpenCV_LIBS})
if (YES)
message("++ Compile and release versions of the program.")
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -O3 -arch=sm_72")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3")
else()
message("++ Compile and debug versions of the program.")
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -O0 -G -g -arch=sm_72")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0 -g")
endif()
file(GLOB_RECURSE SRCS ${PROJECT_SOURCE_DIR}/src/cpp/*.cpp ${PROJECT_SOURCE_DIR}/src/cpp/*.cu)
set(INCS ${PROJECT_SOURCE_DIR}/include)
add_executable(trt-demo ${SRCS})
target_include_directories(trt-demo PRIVATE ${INCS})
target_link_libraries(trt-demo PRIVATE -lstdc++fs)
target_link_libraries(trt-demo PRIVATE nvinfer nvonnxparser nvparsers nvinfer_plugin)
target_link_libraries(trt-demo PRIVATE cudart)
set_target_properties(trt-demo PROPERTIES CUDA_ARCHITECTURES "72")