cmake_minimum_required(VERSION 3.5) project(yolo_SDK) set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/./build) set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DGPU -DCUDNN -DOPENMP -march=native -W -pthread") add_compile_options(-fPIC -g -Wall -Wshadow -Wno-sign-compare -w) #set(TENSORFLOW_DIR /home/disk1/s_opt/tensorflow/tensorflow-1.14.0) set(PYTORCH_DIR /home/disk1/s_opt/03_libtorch/libtorch) set(OPENCV_DIR /home/disk1/s_opt/01_opencv/opencv2.4.13) SET(SOURCES ) #cudaS find_package(CUDA REQUIRED) message("-- CUDA version:$(CUDA_VERSION)") # 设置环境的模型查找,如果CUDA版本大于9,则执行CUDA环境的模型查找 if(CUDA_VERSION_MAJOR GREATER 9) message("-- CUDA ${CUDA_VERSION_MAJOR} detected") set( CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS}; -gencode arch=compute_61,code=sm_61 # 不同GPU有不同的算力指数,可查看算力表 ) set(CUDA_NVCC_FLAGS_RELWITHDEBINFO "--device-debug;-lineinfo") #find_package(OpenCV REQUIRED) # 查找系统的默认opencv环境 #message(${OpenCV_LIBS}) endif() include_directories(/home/disk1/s_opt/04_protobuf/protobuf-3.10.0/01_protobuf/include) link_directories(/home/disk1/s_opt/04_protobuf/protobuf-3.10.0/01_protobuf/lib) #动态链接库目录/bazel-bin/tensorflow link_directories( /usr/local/lib /usr/local/cuda-10.0/lib64 # /usr/lib/x86_64-linux-gnu/ # ${CMAKE_SOURCE_DIR}/opencv3.4.8/lib ${OPENCV_DIR}/lib ./ ) SET(LIBS yolo protobuf torch torch_cuda torch_cpu -Wl,--no-as-needed c10 c10_cuda gomp nvToolsExt opencv_core opencv_highgui #opencv_imgcodecs opencv_imgproc #opencv_videoio opencv_video cublas stdc++fs #设置-lstdc++fs 新链接器选项,防止std等gcc库调用不到 curand cuda cudnn jsoncpp dl m ) include_directories( ${CMAKE_CURRENT_SOURCE_DIR} ${PYTORCH_DIR}/include/ ${PYTORCH_DIR}/include/torch/csrc/api/include ${OPENCV_DIR}/include #/home/disk1/s_opt/opencv/opencv3.4.8/include ./ ) cuda_add_executable(${PROJECT_NAME} sdk.cpp main.cpp ${SOURCES} ) target_link_libraries(${PROJECT_NAME} ${LIBS} )