From 778e96468d81f7bee9643431640b449b1bd80a79 Mon Sep 17 00:00:00 2001 From: Scheaven <xuepengqiang> Date: 星期四, 22 七月 2021 18:57:57 +0800 Subject: [PATCH] update all code --- CMakeLists.txt | 161 ++++++++++++++--------------------------------------- 1 files changed, 43 insertions(+), 118 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f26a992..40c61b6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,132 +1,57 @@ cmake_minimum_required(VERSION 3.5) +project(yoloDetector VERSION 1.0) +enable_language(CUDA) -# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -DEIGEN_MAX_ALIGN_BYTES=32 -DEIGEN_DONT_VECTORIZE -fPIC -march=native -DGPU -DCUDNN -DOPENCV -g -W -O0 -pthread -DS_DEBUG") -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -DEIGEN_MAX_ALIGN_BYTES=32 -DEIGEN_DONT_VECTORIZE -fPIC -march=native -DGPU -DCUDNN -DOPENCV -g -W -O0 -pthread -DS_DEBUG -DS_SERVER") -#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -DEIGEN_MAX_ALIGN_BYTES=32 -DEIGEN_DONT_VECTORIZE -fPIC -lm -march=native -DGPU -DCUDNN -DOPENCV -g -W -O0 -pthread -Wl,--no-as-needed") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden -DGPU -DCUDNN -DOPENCV -g -lm -fPIC -W -O0 -Wl,--no-as-needed -DS_DEBUG -DS_SERVER") # 缂栬瘧C鑴氭湰鏃惰皟鐢℅PU鐜淇℃伅 -#set(CMAKE_C_FLAGS "-fvisibility=hidden") -#set(CMAKE_CXX_FLAGS "-fvisibility=hidden") +set(CMAKE_CXX_COMPILIER "/usr/bin/g++") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -O3 -Wno-write-strings") +set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-rpath -Wl,$ORIGIN") -#椤圭洰鍚嶇О/宸ョ▼鍚� -project(baseDetector) -set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/build) -#璁剧疆c++缂栬瘧鍣� +set(CUDA_Path /usr/local/cuda) +find_package(OpenCV REQUIRED PATHS "/opt/toolkits/opencv") +set(TensorRT_DIR /opt/toolkits/TensorRT7) +set(LOG_DIR /opt/toolkits/log4cplus) -set(CMAKE_CXX_STANDARD 14) -#set(CMAKE_CXX_STANDARD_REQUIRED ON) -#set(CMAKE_CXX_EXTENSIONS OFF) +include_directories(${CUDA_Path}/include) +link_directories(${CUDA_Path}/lib64) +include_directories(${TensorRT_DIR}/include) +include_directories(${TensorRT_DIR}/samples/common) +link_directories(${TensorRT_DIR}/lib) +link_directories(${LOG_DIR}/lib) +include_directories(${LOG_DIR}/include) -#set(CMAKE_BUILD_TYPE debug) -add_compile_options(-fPIC -ldl -lm -g -Wall -Wshadow -Wno-sign-compare -w -pthread) -#add_definitions(-DDEBUG_ERR -DDEBUG_INFO) -#add_definitions(-DDEBUG) -#add_definitions(-D_GLIBCXX_USE_CXX11_ABI=0) +file(GLOB_RECURSE sources src/* src/core/* src/utils/* src/detecter_tools/* ${TensorRT_DIR}/samples/common/*.h ${TensorRT_DIR}/samples/common/logger.cpp) +set(LIBS nvinfer nvparsers nvonnxparser nvinfer_plugin stdc++fs jsoncpp log4cplus) + +if(NOT DEFINED CMAKE_CUDA_ARCHITECTURES) + set(CMAKE_CUDA_ARCHITECTURES 61 80 72) +endif(NOT DEFINED CMAKE_CUDA_ARCHITECTURES) -file(GLOB_RECURSE CURRENT_HEADERS - ./*.h - ./lib/*.h - ./lib/core/*.h - ./lib/utils/*.h - ./lib/detecter_tools/*.h - ./lib/detecter_tools/extra/*.h - ./lib/detecter_tools/*.hpp - ./lib/detecter_tools/*.cuh - ./lib/detecter_tools/darknet/*.hpp - ./lib/detecter_tools/darknet/*.cuh - ) +# -# 妫�绱㈡煡鎵炬枃浠朵俊鎭� -file(GLOB sources - ./*.cpp - ./lib/*.cpp - ./lib/core/*.cpp - ./lib/utils/*.cpp - ./lib/detecter_tools/*.cpp - ./lib/detecter_tools/*.cpp - ./lib/detecter_tools/darknet/*.c - ./lib/detecter_tools/darknet/*.cpp - ./lib/detecter_tools/darknet/*.cu) - -source_group("Include" FILES ${CURRENT_HEADERS}) -source_group("Source" FILES ${sources}) - - -#cudaS -find_package(CUDA REQUIRED) - -#message("-- CUDA version:$(CUDA_VERSION)") - -# 璁剧疆鐜鐨勬ā鍨嬫煡鎵撅紝濡傛灉CUDA鐗堟湰澶т簬9,鍒欐墽琛孋UDA鐜鐨勬ā鍨嬫煡鎵� if(CUDA_VERSION_MAJOR GREATER 9) - message("-- CUDA ${CUDA_VERSION_MAJOR} detected") - set( - CUDA_NVCC_FLAGS - ${CUDA_NVCC_FLAGS}; - -gencode arch=compute_80,code=sm_80 -std=c++14# 涓嶅悓GPU鏈変笉鍚岀殑绠楀姏鎸囨暟锛屽彲鏌ョ湅绠楀姏琛� - ) - set(CUDA_NVCC_FLAGS_RELWITHDEBINFO "--device-debug;-lineinfo") - #find_package(OpenCV REQUIRED) # 鏌ユ壘绯荤粺鐨勯粯璁pencv鐜 - #message(${OpenCV_LIBS}) + message("-- CUDA ${CUDA_VERSION_MAJOR} detected") + set( + CUDA_NVCC_FLAGS + ${CUDA_NVCC_FLAGS}; + -gencode arch=compute_61,code=sm_61 -std=c++14# 涓嶅悓GPU鏈変笉鍚岀殑绠楀姏鎸囨暟锛屽彲鏌ョ湅绠楀姏琛� + -gencode arch=compute_80,code=sm_80 -std=c++14# 涓嶅悓GPU鏈変笉鍚岀殑绠楀姏鎸囨暟锛屽彲鏌ョ湅绠楀姏琛� + -gencode arch=compute_72,code=sm_72 -std=c++14# 涓嶅悓GPU鏈変笉鍚岀殑绠楀姏鎸囨暟锛屽彲鏌ョ湅绠楀姏琛� + ) + set(CUDA_NVCC_FLAGS_RELWITHDEBINFO "--device-debug;-lineinfo") + #find_package(OpenCV REQUIRED) # 鏌ユ壘绯荤粺鐨勯粯璁pencv鐜 + #message(${OpenCV_LIBS}) endif() -set(OPENCV_DIR /opt/toolkits/opencv) +cuda_add_library(${PROJECT_NAME} SHARED ${sources}) +target_include_directories(${PROJECT_NAME} PRIVATE ${OpenCV_INCLUDE_DIRS} src/ src/core src/utils/ src/detecter_tools/) +target_link_libraries(${PROJECT_NAME} ${OpenCV_LIBS} ${LIBS}) -link_directories(/usr/local/cuda/lib64) -#link_directories(/usr/local/lib) +add_executable(demo demo.cpp) +target_include_directories(demo PRIVATE src/ src/core src/utils/ src/detecter_tools/) +target_link_libraries(demo ${PROJECT_NAME}) -SET(LIBS - gomp - nvToolsExt - opencv_core - opencv_highgui - opencv_imgcodecs - opencv_imgproc - opencv_videoio - opencv_video - opencv_calib3d - opencv_features2d - opencv_flann - cublas - stdc++fs #璁剧疆-lstdc++fs 鏂伴摼鎺ュ櫒閫夐」锛岄槻姝td绛塯cc搴撹皟鐢ㄤ笉鍒� - curand - cuda - cudnn - jsoncpp - ) - -# 灏嗘簮鐮佺洰褰曚繚瀛樺埌鍙橀噺涓� -#aux_source_directory(./src DIR_SRCS) # 鎼滅储褰撳墠鐩綍涓嬬殑鎵�鏈�.cpp鏂囦欢 -#add_library(demo ${SRC_LIST}) #鏄庣‘鎸囧畾鍖呭惈鍝簺婧愭枃浠� - -include_directories(/usr/local/cuda/include) -include_directories(".") -include_directories("./lib") -include_directories("./lib/core") -include_directories("./lib/detecter_tools") -include_directories("./lib/utils") -#include_directories("/usr/include/x86_64-linux-gnu/") -#include_directories("/usr/include/json/") -#include_directories("/usr/include") -#include_directories("/usr/local/include/") -include_directories(${OPENCV_DIR}/include/opencv4) -include_directories("/usr/include/jsoncpp/") - -#璁剧疆閾炬帴搴撴悳绱㈢洰褰曪紝椤圭洰涓璴ib璺緞 -link_directories(${PYTORCH_DIR}/lib) #鍔ㄦ�侀摼鎺ュ簱鐩綍/bazel-bin/tensorflow -#link_directories(/usr/local/lib) -link_directories(${OPENCV_DIR}/lib) -#link_directories(/usr/lib/x86_64-linux-gnu/) -link_directories(/home/basic/anaconda3/lib/) - - - -#娣诲姞瑕佺紪璇戠殑鍙墽琛屾枃浠� -#cuda_add_executable(${PROJECT_NAME} - -cuda_add_executable(${PROJECT_NAME} main.cpp ${sources} ${CURRENT_HEADERS}) -#cuda_add_library(${PROJECT_NAME} SHARED ${sources} ${CURRENT_HEADERS}) - -#璁剧疆 target 闇�瑕侀摼鎺ョ殑搴� -target_link_libraries(${PROJECT_NAME} ${LIBS}) +# add_executable(demo demo.cpp ${sources}) +# target_include_directories(demo PRIVATE ${OpenCV_INCLUDE_DIRS} src/ src/core src/utils/ src/detecter_tools/) +# target_link_libraries(demo ${OpenCV_LIBS} ${LIBS}) -- Gitblit v1.8.0