CaoWGG / TensorRT-YOLOv4

tensorrt5, yolov4, yolov3,yolov3-tniy,yolov3-tniy-prn
264 stars 76 forks source link

CMake error missing OpenCV includes #21

Closed felipevw closed 4 years ago

felipevw commented 4 years ago

Hi,

I don't know if I am right, but while attemting to build with CMake the repository, CMake output an error of missing the includes of OpenCV. Supposedly this is in the folder:

TensorRT-YOLOv4/src/CMakeLists.txt

I changed the CMakeLists.txt to sth like this:

cmake_minimum_required(VERSION 3.5)
project(trt LANGUAGES CXX )
find_package(CUDA REQUIRED)
find_package( OpenCV REQUIRED )
find_path(TENSORRT_INCLUDE_DIR NvInfer.h
        HINTS ${TENSORRT_ROOT} ${CUDA_TOOLKIT_ROOT_DIR}
        PATH_SUFFIXES include)
find_library(TENSORRT_INFER libnvinfer.so
        HINTS ${TENSORRT_ROOT} ${CUDA_TOOLKIT_ROOT_DIR}
        PATH_SUFFIXES lib lib64 lib/x64)
find_library(TENSORRT_INFER_PLUGIN libnvinfer_plugin.so
        HINTS ${TENSORRT_ROOT} ${CUDA_TOOLKIT_ROOT_DIR}
        PATH_SUFFIXES lib lib64 lib/x64)
include_directories(
        ./
        ../include
        ../onnx-tensorrt
        ${TENSORRT_INCLUDE_DIR}
        ${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES}
    ${OpenCV_INCLUDE_DIRS})
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Ofast ")
set(CUDA_NVCC_FLAGS  "-D_FORCE_INLINES -Xcompiler -fPIC -gencode arch=compute_${GPU_ARCHS},code=sm_${GPU_ARCHS} -gencode arch=compute_${GPU_ARCHS},code=compute_${GPU_ARCHS}")
set(SRC_LIST resize.cu trt.cpp)
cuda_add_library(trt SHARED ${SRC_LIST})
target_link_libraries(trt ${TENSORRT_INFER_PLUGIN} ${TENSORRT_INFER} ${OpenCV_LIBS} mynvonnxparser mynvonnxparser_runtime)

Adding these three lines:

find_package( OpenCV REQUIRED )
${OpenCV_INCLUDE_DIRS}
${OpenCV_LIBS} 

It worked and output the .onnx file. Am I missing sth? Should I pull a request to correct it?

CaoWGG commented 4 years ago

@felipevw 用到opencv的只有example/runDet.cpp啊,其它地方没有用到 src/CMakeFileList.txt不用加吧

felipevw commented 4 years ago

I understand, thanks! 我明白了