- 创建基本项目结构和目录 - 添加CMake构建系统 - 实现基础的配置解析功能 - 添加YOLO推理框架支持 - 集成RTSP和视频流处理功能 - 添加性能监控和日志系统
67 lines
1.7 KiB
CMake
67 lines
1.7 KiB
CMake
cmake_minimum_required(VERSION 3.10)
|
|
project(trt_pipeline CUDA CXX)
|
|
|
|
# 设置 C++ 标准
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
|
# 设置 CUDA 架构
|
|
set(CMAKE_CUDA_ARCHITECTURES 75) # 根据实际GPU调整
|
|
|
|
# 启用测试
|
|
enable_testing()
|
|
|
|
# 查找依赖包
|
|
find_package(OpenCV REQUIRED)
|
|
find_package(yaml-cpp REQUIRED)
|
|
find_package(GTest REQUIRED)
|
|
find_package(CUDA REQUIRED)
|
|
|
|
# 设置 CUDA 包含目录和库目录
|
|
include_directories(${CUDA_INCLUDE_DIRS})
|
|
link_directories(${CUDA_TOOLKIT_ROOT_DIR}/lib64)
|
|
|
|
# 设置 TensorRT 路径
|
|
set(TENSORRT_ROOT "/usr" CACHE PATH "TensorRT root directory")
|
|
set(TENSORRT_INCLUDE_DIRS
|
|
"${TENSORRT_ROOT}/include"
|
|
"${TENSORRT_ROOT}/include/x86_64-linux-gnu"
|
|
)
|
|
set(TENSORRT_LIB_DIRS
|
|
"${TENSORRT_ROOT}/lib"
|
|
"${TENSORRT_ROOT}/lib/x86_64-linux-gnu"
|
|
)
|
|
|
|
# 查找 TensorRT 库
|
|
find_library(NVINFER_LIB nvinfer HINTS ${TENSORRT_LIB_DIRS})
|
|
find_library(NVONNXPARSER_LIB nvonnxparser HINTS ${TENSORRT_LIB_DIRS})
|
|
find_library(NVINFER_PLUGIN_LIB nvinfer_plugin HINTS ${TENSORRT_LIB_DIRS})
|
|
|
|
if(NOT NVINFER_LIB OR NOT NVONNXPARSER_LIB OR NOT NVINFER_PLUGIN_LIB)
|
|
message(FATAL_ERROR "TensorRT libraries not found")
|
|
endif()
|
|
|
|
# 添加子目录
|
|
add_subdirectory(pipeline)
|
|
add_subdirectory(tests)
|
|
|
|
# 添加主程序
|
|
add_executable(trt_pipeline_demo main.cpp)
|
|
|
|
# 链接库
|
|
target_link_libraries(trt_pipeline_demo
|
|
PRIVATE
|
|
pipeline
|
|
${OpenCV_LIBS}
|
|
yaml-cpp
|
|
${CUDA_LIBRARIES}
|
|
${NVINFER_LIB}
|
|
${NVONNXPARSER_LIB}
|
|
${NVINFER_PLUGIN_LIB}
|
|
cudart
|
|
avcodec
|
|
avformat
|
|
avutil
|
|
swscale
|
|
pthread
|
|
) |