254 lines
11 KiB
Prolog

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