164 lines
6.2 KiB
Prolog
164 lines
6.2 KiB
Prolog
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-definition:libavcodec 和 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 SDK(MvsDevice 是静态库,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
|