QT += core gui widgets network serialport CONFIG += c++17 win32 { CONFIG += console CONFIG -= windows } TARGET = ParkingSpaceGuideApp TEMPLATE = app DEFINES += QT_DEPRECATED_WARNINGS DEFINES += UNICODE DEFINES += _UNICODE win32-msvc { QMAKE_CXXFLAGS += /utf-8 } unix:!macx { QMAKE_CXXFLAGS += -fPIC } INCLUDEPATH += $$PWD/Presenter/Inc INCLUDEPATH += $$PWD/../ParkingSpaceGuideConfig/Inc INCLUDEPATH += $$PWD/../../../AppUtils/UICommon/Inc INCLUDEPATH += $$PWD/../../../AppUtils/AppCommon/Inc INCLUDEPATH += $$PWD/../../../AppUtils/AppConfig/Inc INCLUDEPATH += $$PWD/../../../Device/MvsDevice/Inc INCLUDEPATH += $$PWD/../../../Device/RsLidarDevice/Inc INCLUDEPATH += $$PWD/../../../Device/LedDisplayDevice/Inc INCLUDEPATH += $$PWD/../../../Module/AuthModule/Inc INCLUDEPATH += $$PWD/../../../Module/GpioModule/Inc INCLUDEPATH += $$PWD/../../../Module/FFMediaStream/Inc INCLUDEPATH += $$PWD/../../../Module/FixedRoiAutoExposureSDK/include INCLUDEPATH += $$PWD/../../../SDK/OpenCV320/include INCLUDEPATH += $$PWD/../../../Nets/ModbusTCPClient/Inc INCLUDEPATH += $$PWD/../../../Module/ShareMem/Inc INCLUDEPATH += $$PWD/../../../Nets/UDPClient/Inc INCLUDEPATH += $$PWD/../../../Nets/ZeroMQServer/Inc INCLUDEPATH += $$PWD/../../../Nets/ZeroMQPubSub/Inc INCLUDEPATH += $$PWD/../../../Nets/SDK/ZeroMQ/include INCLUDEPATH += $$PWD/../../../Utils/VrCommon/Inc INCLUDEPATH += $$PWD/../../../Utils/VrUtils/Inc INCLUDEPATH += $$PWD/../../../Utils/CloudUtils/Inc AAPGS_ROOT = $$clean_path($$PWD/../../../AppAlgo/AAPGS_model) INCLUDEPATH += $$AAPGS_ROOT/include PERSION_ROOT = $$clean_path($$PWD/../../../AppAlgo/Persion_model) PLANE_LOCALIZATION_ROOT = $$clean_path($$PWD/../../../AppAlgo/planeLocalization) INCLUDEPATH += $$PLANE_LOCALIZATION_ROOT/Inc win32 { POCO_ROOT = $$PWD/../../../SDK/poco/Windows } else:unix:!macx { POCO_ROOT = $$PWD/../../../SDK/poco/Linux contains(QMAKE_CXX, aarch64.*): POCO_ROOT = $$PWD/../../../SDK/poco/Arm/aarch64 } !isEmpty(POCO_ROOT) { INCLUDEPATH += $$POCO_ROOT/include } win32 { MVS_ROOT = $$PWD/../../../Device/SDK/MVS/MVS_Win_STD_5.0.0_260417/Development INCLUDEPATH += $$MVS_ROOT/Includes MVS_LIBS = -L$$MVS_ROOT/Libraries/win64 -lMvCameraControl } else:unix:!macx { MVS_ROOT = $$PWD/../../../Device/SDK/MVS/MVS_STD_V3.0.1_251113/MVS-3.0.1_aarch64_20251113 INCLUDEPATH += $$MVS_ROOT/include MVS_LIBS = -L$$MVS_ROOT/lib/aarch64 -lMvCameraControl -ldl -lpthread -lrt } SOURCES += \ Presenter/Src/ConfigManager.cpp \ Presenter/Src/ParkingSpaceGuidePresenter.cpp \ Presenter/Src/AapgsModelClassifier.cpp \ Presenter/Src/PersionModelDetector.cpp \ Presenter/Src/DetectPresenter.cpp \ Presenter/Src/ParkingStatusHttpServer.cpp \ Presenter/Src/ParkingSpaceGuideRemoteServer.cpp \ main.cpp \ mainwindow.cpp \ dialogalgoarg.cpp HEADERS += \ Presenter/Inc/ConfigManager.h \ Presenter/Inc/ParkingSpaceGuidePresenter.h \ Presenter/Inc/AapgsModelClassifier.h \ Presenter/Inc/PersionModelDetector.h \ Presenter/Inc/DetectPresenter.h \ Presenter/Inc/ParkingStatusHttpServer.h \ Presenter/Inc/ParkingSpaceGuideRemoteServer.h \ mainwindow.h \ dialogalgoarg.h \ Version.h FORMS += \ mainwindow.ui \ dialogalgoarg.ui RESOURCES += \ resources.qrc \ ../../../AppUtils/UICommon/common_resources.qrc win32 { RC_ICONS = resource/logo.ico } win32:CONFIG(debug, debug|release) { LIBS += -L$$POCO_ROOT/lib -lPocoNet -lPocoFoundation LIBS += -L../ParkingSpaceGuideConfig/debug -lParkingSpaceGuideConfig LIBS += -L../../../AppUtils/UICommon/debug -lUICommon LIBS += -L../../../AppUtils/AppCommon/debug -lAppCommon LIBS += -L../../../AppUtils/AppConfig/debug -lAppConfig LIBS += -L../../../Device/MvsDevice/debug -lMvsDevice LIBS += -L../../../Module/FFMediaStream/debug -lFFMediaStream LIBS += -L../../../Module/FixedRoiAutoExposureSDK/debug -lFixedRoiAutoExposure LIBS += -L../../../Device/RsLidarDevice/debug -lRsLidarDevice LIBS += -L../../../Device/LedDisplayDevice/debug -lLedDisplayDevice LIBS += -L../../../Nets/debug -lModbusTCPClient LIBS += -L../../../Module/AuthModule/debug -lAuthModule LIBS += -L../../../Module/GpioModule/debug -lGpioModule LIBS += -L../../../Module/ShareMem/debug -lShareMem LIBS += -L../../../Utils/CloudUtils/debug -lCloudUtils LIBS += -L../../../Utils/VrUtils/debug -lVrUtils LIBS += -L../../../Device/VrEyeDevice/debug -lVrEyeDevice LIBS += -L../../../Nets/debug -lModbusTCPServer LIBS += -L../../../Nets/debug -lVrModbus LIBS += -L../../../Nets/debug -lVrTcpServer LIBS += -L../../../Nets/debug -lVrUDPClient LIBS += -L../../../Nets/debug -lZeroMQServer -lZeroMQPubSub LIBS += -L$$PLANE_LOCALIZATION_ROOT/Windows/Debug -lHC_planeLocalization -lbaseAlgorithm LIBS += -L../../../SDK/OpenCV320/Windows/vc14/Release -lopencv_world320d } else:win32:CONFIG(release, debug|release) { LIBS += -L$$POCO_ROOT/lib -lPocoNet -lPocoFoundation LIBS += -L../ParkingSpaceGuideConfig/release -lParkingSpaceGuideConfig LIBS += -L../../../AppUtils/UICommon/release -lUICommon LIBS += -L../../../AppUtils/AppCommon/release -lAppCommon LIBS += -L../../../AppUtils/AppConfig/release -lAppConfig LIBS += -L../../../Device/MvsDevice/release -lMvsDevice LIBS += -L../../../Module/FFMediaStream/release -lFFMediaStream LIBS += -L../../../Module/FixedRoiAutoExposureSDK/release -lFixedRoiAutoExposure LIBS += -L../../../Device/RsLidarDevice/release -lRsLidarDevice LIBS += -L../../../Device/LedDisplayDevice/release -lLedDisplayDevice LIBS += -L../../../Nets/release -lModbusTCPClient LIBS += -L../../../Module/AuthModule/release -lAuthModule LIBS += -L../../../Module/GpioModule/release -lGpioModule LIBS += -L../../../Module/ShareMem/release -lShareMem LIBS += -L../../../Utils/CloudUtils/release -lCloudUtils LIBS += -L../../../Utils/VrUtils/release -lVrUtils LIBS += -L../../../Device/VrEyeDevice/release -lVrEyeDevice LIBS += -L../../../Nets/release -lModbusTCPServer LIBS += -L../../../Nets/release -lVrModbus LIBS += -L../../../Nets/release -lVrTcpServer LIBS += -L../../../Nets/release -lVrUDPClient LIBS += -L../../../Nets/release -lZeroMQServer -lZeroMQPubSub LIBS += -L$$PLANE_LOCALIZATION_ROOT/Windows/Release -lHC_planeLocalization -lbaseAlgorithm LIBS += -L../../../SDK/OpenCV320/Windows/vc14/Release -lopencv_world320 } else:unix:!macx { LIBS += -L$$POCO_ROOT/lib -lPocoNet -lPocoFoundation LIBS += -L../ParkingSpaceGuideConfig -lParkingSpaceGuideConfig LIBS += -L../../../AppUtils/UICommon -lUICommon LIBS += -L../../../AppUtils/AppCommon -lAppCommon LIBS += -L../../../AppUtils/AppConfig -lAppConfig LIBS += -L../../../Device/MvsDevice -lMvsDevice LIBS += -L../../../Module/FFMediaStream -lFFMediaStream LIBS += -L../../../Module/FixedRoiAutoExposureSDK -lFixedRoiAutoExposure LIBS += -L../../../Device/RsLidarDevice -lRsLidarDevice LIBS += -L../../../Device/LedDisplayDevice -lLedDisplayDevice LIBS += -L../../../Nets -lModbusTCPClient LIBS += -L../../../Module/AuthModule -lAuthModule LIBS += -L../../../Module/GpioModule -lGpioModule LIBS += -L../../../Module/ShareMem -lShareMem LIBS += -L../../../Utils/CloudUtils -lCloudUtils LIBS += -L../../../Device/VrEyeDevice -lVrEyeDevice LIBS += -L../../../Nets -lModbusTCPServer LIBS += -L../../../Nets -lVrModbus LIBS += -L../../../Nets -lVrTcpServer LIBS += -L../../../Nets -lVrUDPClient LIBS += -L../../../Nets -lZeroMQServer -lZeroMQPubSub LIBS += -L../../../Utils/VrUtils -lVrUtils # planeLocalization 的 ARM 库未记录其传递依赖,顺序不能调整: # planeLocalization -> baseAlgorithm -> OpenCV 3.2 core。 OPENCV320_ARM_LIB = $$clean_path($$PWD/../../../SDK/OpenCV320/Arm/aarch64) LIBS += -L$$PLANE_LOCALIZATION_ROOT/Arm/aarch64 -lplaneLocalization -lbaseAlgorithm LIBS += -L$$OPENCV320_ARM_LIB -lopencv_core -lopencv_imgproc LIBS += -lpthread -lrt LIBS += -L$$PWD/../../../Nets/SDK/ZeroMQ/Arm/aarch64 -lzmq # FFMediaStream 是静态库,最终应用负责链接 MPP 和 sysroot 中的 FFmpeg。 # Module/SDK/ffmpeg-rockchip 只有 6.x 头文件而没有库文件,不能与 # Ubuntu 20.04 sysroot 的 libavformat.so.58 混用,否则 AVStream ABI 错位。 MPP_LIB_DIR = $$PWD/../../../Module/SDK/mpp/lib LIBS += -L$${MPP_LIB_DIR} LIBS += -lavformat -lavcodec -lswscale -lavutil -lswresample LIBS += -lrockchip_mpp -lz -llzma -ldrm -ldl } !isEmpty(MVS_LIBS) { LIBS += $$MVS_LIBS } win32 { LIBS += -lws2_32 LIBS += Advapi32.lib CONFIG(release, debug|release) { LIBS += -L$$PWD/../../../Nets/SDK/ZeroMQ/Windows/x64/Release -llibzmq-v142-mt-4_3_5 } else { LIBS += -L$$PWD/../../../Nets/SDK/ZeroMQ/Windows/x64/Debug -llibzmq-v142-mt-gd-4_3_5 } } unix { target.path = /usr/lib planeLocalizationRuntime.path = /usr/lib planeLocalizationRuntime.files = \ $$PLANE_LOCALIZATION_ROOT/Arm/aarch64/libplaneLocalization.so \ $$PLANE_LOCALIZATION_ROOT/Arm/aarch64/libbaseAlgorithm.so aapgsRuntime.path = /opt/rk3588-ai/AAPGS_model/lib aapgsRuntime.files = \ $$AAPGS_ROOT/lib/libyolo_runtime.so.3 \ $$AAPGS_ROOT/lib/libyolo_backend_cls.so \ $$AAPGS_ROOT/lib/librknnrt.so \ $$AAPGS_ROOT/lib/librga.so aapgsModels.path = /opt/rk3588-ai/AAPGS_model/models/model_20260712T020258_0000_6339d04b aapgsModels.files = \ $$AAPGS_ROOT/models/model_20260712T020258_0000_6339d04b/model_20260712T020258_0000_6339d04b.yaml \ $$AAPGS_ROOT/models/model_20260712T020258_0000_6339d04b/model_20260712T020258+0000_6339d04b.rknn persionRuntime.path = /opt/rk3588-ai/Persion_model/lib persionRuntime.files = \ $$PERSION_ROOT/lib/libyolo_runtime.so.3 \ $$PERSION_ROOT/lib/libyolo_backend_detect.so \ $$PERSION_ROOT/lib/librknnrt.so \ $$PERSION_ROOT/lib/librga.so persionModels.path = /opt/rk3588-ai/Persion_model/models/yolov8n persionModels.files = \ $$PERSION_ROOT/models/yolov8n/yolov8n.yaml \ $$PERSION_ROOT/models/yolov8n/yolov8n.rknn INSTALLS += planeLocalizationRuntime aapgsRuntime aapgsModels \ persionRuntime persionModels } !isEmpty(target.path): INSTALLS += target DISTFILES += Version.md