tensorrt+opencv c++工程编译的问题

opencv编译

点我

问题1 CMakeLists.txt的写法

cmake_minimum_required(VERSION 3.10)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}" ${CMAKE_MODULE_PATH})
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
project(Gaofa_Infer_Cpp)

# Threads
find_package(Threads)

# CUDA
find_package(CUDA REQUIRED)
include_directories(${CUDA_INCLUDE_DIRS})
message("CUDA_TOOLKIT_ROOT_DIR = ${CUDA_TOOLKIT_ROOT_DIR}")
message("CUDA_INCLUDE_DIRS = ${CUDA_INCLUDE_DIRS}")
message("CUDA_LIBRARIES = ${CUDA_LIBRARIES}")
find_package(CUDA REQUIRED)
message(STATUS "Find CUDA include at ${CUDA_INCLUDE_DIRS}")
message(STATUS "Find CUDA libraries: ${CUDA_LIBRARIES}")

# TensorRT
set(TENSORRT_ROOT TensorRT-7.2.2.3路径)
find_path(TENSORRT_INCLUDE_DIR NvInfer.h
        HINTS ${TENSORRT_ROOT} PATH_SUFFIXES include/)
message(STATUS "Found TensorRT headers at ${TENSORRT_INCLUDE_DIR}")
find_library(TENSORRT_LIBRARY_INFER nvinfer
        HINTS ${TENSORRT_ROOT} ${TENSORRT_BUILD} ${CUDA_TOOLKIT_ROOT_DIR}
        PATH_SUFFIXES lib lib64 lib/x64)
find_library(TENSORRT_LIBRARY_ONNXPARSER nvonnxparser
        HINTS ${TENSORRT_ROOT} ${TENSORRT_BUILD} ${CUDA_TOOLKIT_ROOT_DIR}
        PATH_SUFFIXES lib lib64 lib/x64)
set(TENSORRT_LIBRARY ${TENSORRT_LIBRARY_INFER} ${TENSORRT_LIBRARY_ONNXPARSER})
message(STATUS "Find TensorRT libs: ${TENSORRT_LIBRARY}")
include_directories(${TENSORRT_ROOT}/include)
link_directories(${TENSORRT_ROOT}/lib)


# Boost
find_package(Boost REQUIRED COMPONENTS regex)
#find_package(Boost REQUIRED COMPONENTS)
if (NOT Boost_FOUND)
    message("Not found Boost")
endif ()
include_directories(${Boost_INCLUDE_DIRS})
link_directories(/usr/lib/x86_64-linux-gnu)
message("boost include dirs: ${Boost_INCLUDE_DIRS}")
message("boost libs: ${Boost_LIBRARIES}")

# OpenCV
find_package(OpenCV REQUIRED)
message(STATUS "Find OpenCV include at ${OpenCV_INCLUDE_DIRS}")
message(STATUS "Find OpenCV libraries: ${OpenCV_LIBRARIES}")



set(lib_DIR /usr/lib/x84_64-linux-gnu)
link_directories(${lib_DIR})

find_package(Qt5Widgets)
# 设置内部添加库
set(COMMON_INCLUDE includes/common)


include_directories(${CUDA_INCLUDE_DIRS} ${TENSORRT_INCLUDE_DIR} ${OpenCV_INCLUDE_DIRS} ${COMMON_INCLUDE} ${JSON_INCLUDE})
link_libraries(nvinfer nvonnxparser ${CUDA_LIBRARIES})


add_executable(${PROJECT_NAME} main.cpp src/example.cpp)
# 添加链接库
target_link_libraries(${PROJECT_NAME} ${OpenCV_LIBRARIES} ${CUDA_LIBRARIES} ${TENSORRT_LIBRARY} ${Boost_LIBRARIES}) 
target_link_libraries(${PROJECT_NAME} libcudnn.so.8的路径)
target_link_libraries(${PROJECT_NAME} libjsoncpp.a)


问题2

By not providing “FindQt5Widgets.cmake” in CMAKE_MODULE_PATH this project has asked CMake to find

解决方案

sudo apt-get install qt5-default

问题3:tensorrt错误

错误1:[TRT] Assertion failed: cublasStatus == CUBLAS_STATUS_SUCCESS

解决方案:

安装cuda patch1

错误2:(myelinVersionMismatch : Compiled against cuBLAS 10.2.3.0 but running against cuBLAS 10.2.2.0.

解决方案:

安装cuda patch2

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

勤劳的凌菲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值