cmake_minimum_required(VERSION 3.10) project(armor_detector_mdv) # Set C++ standard set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) # Find OpenCV package find_package(OpenCV REQUIRED) # Include OpenCV headers include_directories(${OpenCV_INCLUDE_DIRS}) include_directories(~/code/cpp/Catalyst-MDVS/inc) include_directories(/usr/include) include_directories(/usr/include/opencv4/opencv2/imgproc) # Add executable for MindVision version add_executable(armor_detector_mdv src/main.cpp src/MindVisionCamera.cpp src/ImagePreprocessor.cpp src/ArmorDetector.cpp src/KalmanFilter.cpp src/Visualizer.cpp src/BallisticPredictor.cpp src/TTLCommunicator.cpp ) # Link OpenCV libraries target_link_libraries(armor_detector_mdv ${OpenCV_LIBS}) # Link MindVision SDK library (路径需要根据实际情况调整) # 根据提供的Makefile,库名应该是MVSDK link_directories("/lib") target_link_libraries(armor_detector_mdv MVSDK) # Additional flags for better compilation set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -O3 -pthread") # For serial communication on Linux, you might need to link additional libraries: # target_link_libraries(armor_detector_mdv ${OpenCV_LIBS} -lutil -lpthread)