2026-06-26 17:55:15 +08:00

164 lines
6.2 KiB
Prolog
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

2QT += core
QT += network
QT += gui
QT += xml
TEMPLATE = app
TARGET = DroneScrewServer
CONFIG += c++17 console
CONFIG -= app_bundle
# UTF-8 编码
win32-msvc {
QMAKE_CXXFLAGS += /utf-8
}
DEFINES += QT_DEPRECATED_WARNINGS
# 头文件路径
INCLUDEPATH += $$PWD/../../../Utils/VrCommon/Inc
INCLUDEPATH += $$PWD/../../../Utils/VrUtils/Inc
INCLUDEPATH += $$PWD/../../../AppUtils/AppCommon/Inc
INCLUDEPATH += $$PWD/../../../AppUtils/AppConfig/Inc
# 设备MvsDevice
INCLUDEPATH += $$PWD/../../../Device/MvsDevice/Inc
# 模块ZeroMQ Server + PubSub + FFMediaStream + WDRemoteReceiver(头复用)
INCLUDEPATH += $$PWD/../../../Module/ZeroMQServer/Inc
INCLUDEPATH += $$PWD/../../../Module/ZeroMQPubSub/Inc
INCLUDEPATH += $$PWD/../../../Module/FFMediaStream/Inc
INCLUDEPATH += $$PWD/../../../Module/WDRemoteReceiver/Inc
INCLUDEPATH += $$PWD/../../../Module/AuthModule/Inc
# Protobuf / ZeroMQ
INCLUDEPATH += $$PWD/../../../SDK/Protobuf_3_20/include
INCLUDEPATH += $$PWD/../../../SDK/ZeroMQ/include
# MPP headers
INCLUDEPATH += $$PWD/../../../SDK/mpp/include
INCLUDEPATH += $$PWD/../../../SDK/mpp/include/rockchip
# 算法占位接口
INCLUDEPATH += $$PWD/Algo
INCLUDEPATH += $$PWD/../../../AppAlgo/stereo_bolt_delivery/include
SOURCES += \
main.cpp \
DroneScrewServerPresenter.cpp \
DroneScrewZmqProtocol.cpp \
Algo/DroneScrewAlgoStub.cpp
HEADERS += \
DroneScrewServerPresenter.h \
DroneScrewZmqProtocol.h \
Version.h \
Algo/IDroneScrewAlgo.h \
Algo/DroneScrewAlgoStub.h
# ====== Windows 链接 ======
win32:CONFIG(debug, debug|release) {
LIBS += -L../../../Device/MvsDevice/debug -lMvsDevice
LIBS += -L../../../Module/FFMediaStream/debug -lFFMediaStream
LIBS += -L../../../Module/ZeroMQServer/debug -lZeroMQServer
LIBS += -L../../../Module/ZeroMQPubSub/debug -lZeroMQPubSub
LIBS += -L../../../Module/AuthModule/debug -lAuthModule
LIBS += -L../../../Utils/VrUtils/debug -lVrUtils
LIBS += -L../../../AppUtils/AppCommon/debug -lAppCommon
LIBS += -L../../../AppUtils/AppConfig/debug -lAppConfig
LIBS += -L../../../Module/ModbusTCPServer/debug -lModbusTCPServer
LIBS += -L../../../Module/ShareMem/debug -lShareMem
LIBS += -L../../../VrNets/debug -lVrModbus
}else:win32:CONFIG(release, debug|release){
LIBS += -L../../../Device/MvsDevice/release -lMvsDevice
LIBS += -L../../../Module/FFMediaStream/release -lFFMediaStream
LIBS += -L../../../Module/ZeroMQServer/release -lZeroMQServer
LIBS += -L../../../Module/ZeroMQPubSub/release -lZeroMQPubSub
LIBS += -L../../../Module/AuthModule/release -lAuthModule
LIBS += -L../../../Utils/VrUtils/release -lVrUtils
LIBS += -L../../../AppUtils/AppCommon/release -lAppCommon
LIBS += -L../../../AppUtils/AppConfig/release -lAppConfig
LIBS += -L../../../Module/ModbusTCPServer/release -lModbusTCPServer
LIBS += -L../../../Module/ShareMem/release -lShareMem
LIBS += -L../../../VrNets/release -lVrModbus
}else:unix:!macx {
# ====== Linux/ARM 链接 ======
LIBS += -L../../../Device/MvsDevice -lMvsDevice
LIBS += -L../../../Module/FFMediaStream -lFFMediaStream
LIBS += -L../../../Module/ZeroMQServer -lZeroMQServer
LIBS += -L../../../Module/ZeroMQPubSub -lZeroMQPubSub
LIBS += -L../../../Module/AuthModule -lAuthModule
LIBS += -L../../../AppUtils/AppCommon -lAppCommon
LIBS += -L../../../AppUtils/AppConfig -lAppConfig
LIBS += -L../../../Module/ModbusTCPServer -lModbusTCPServer
LIBS += -L../../../Module/ShareMem -lShareMem
LIBS += -L../../../VrNets -lVrModbus
LIBS += -L../../../Utils/VrUtils -lVrUtils
DEFINES += DRONESCREW_STEREO_BOLT_DIRECT_LINK
LIBS += -L$$PWD/../../../AppAlgo/stereo_bolt_delivery/lib -lstereo_bolt
OPENCV450_LIB_DIR = $$PWD/../../../SDK/OpenCV450/Arm/aarch64/lib
LIBS += -L$${OPENCV450_LIB_DIR}
QMAKE_LFLAGS += -Wl,-rpath-link,$${OPENCV450_LIB_DIR}
# MVS SDK
LIBS += -L$$PWD/../../../SDK/Device/MVS/MVS_STD_V3.0.1_251113/MVS-3.0.1_aarch64_20251113/lib/aarch64
LIBS += -lMvCameraControl
# 系统库(板子自带)
LIBS += -lrga
# MPP 动态库 + FFmpeg 静态库搜索路径
MPP_LIB_DIR = $$PWD/../../../SDK/mpp/lib
FFMPEG_LIB_DIR = $$PWD/../../../SDK/ffmpeg-rockchip/lib
LIBS += -L$${MPP_LIB_DIR}
LIBS += -L$${FFMPEG_LIB_DIR}
# FFmpeg-rockchip 静态库
# --whole-archive解决 .a 间循环依赖 + ff_log_level 等内部符号
# --allow-multiple-definitionlibavcodec libswscale 都编译了 half2float.o重复但完全相同
LIBS += -Wl,--whole-archive
LIBS += -lavformat -lavcodec -lswscale -lavutil -lswresample
LIBS += -Wl,--no-whole-archive
LIBS += -Wl,--allow-multiple-definition
# FFmpeg / MPP 传递依赖
LIBS += -lrockchip_mpp -lz -llzma -ldrm -lpthread -ldl
# ZeroMQ / Protobuf
LIBS += -L$$PWD/../../../SDK/ZeroMQ/Arm/aarch64 -lzmq
LIBS += -L$$PWD/../../../SDK/Protobuf_3_20/Arm/aarch64 -lprotobuf
LIBS += -lpthread -ldl
# 允许未定义符号(运行时由系统库提供)
QMAKE_LFLAGS += -Wl,--allow-shlib-undefined
}
# Windows 系统库
win32 {
LIBS += -lws2_32
LIBS += Shell32.lib
# MVS SDKMvsDevice 是静态库LIBS 不会传递,需要这里再链一次)
# 全部从仓库内 SDK 取,不依赖系统安装
LIBS += -L$$PWD/../../../SDK/Device/MVS/MVS_Win_STD_5.0.0_260417/Development/Libraries/win64 -lMvCameraControl
# ZeroMQ
CONFIG(release, debug|release): {
LIBS += -L$$PWD/../../../SDK/ZeroMQ/Windows/x64/Release -llibzmq-v142-mt-4_3_5
LIBS += -L$$PWD/../../../SDK/Protobuf_3_20/Windows/x64/Release -llibprotobuf
} else {
LIBS += -L$$PWD/../../../SDK/ZeroMQ/Windows/x64/Debug -llibzmq-v142-mt-gd-4_3_5
LIBS += -L$$PWD/../../../SDK/Protobuf_3_20/Windows/x64/Debug -llibprotobuf
}
}
unix {
target.path = /opt/dronescrewserver
LIBS += -lrt
}
!isEmpty(target.path): INSTALLS += target