165 lines
5.8 KiB
Prolog
Raw Normal View History

2026-06-26 17:55:15 +08:00
QT += core gui network widgets
CONFIG += c++17
TARGET = DroneScrewCtrlApp
TEMPLATE = app
DEFINES += QT_DEPRECATED_WARNINGS
DEFINES += UNICODE
DEFINES += _UNICODE
win32-msvc {
QMAKE_CXXFLAGS += /utf-8
}
# 头文件路径
INCLUDEPATH += $$PWD/Presenter/Inc
INCLUDEPATH += $$PWD/../DroneScrewCtrlConfig/Inc
INCLUDEPATH += $$PWD/../../../Utils/VrCommon/Inc
INCLUDEPATH += $$PWD/../../../Utils/VrUtils/Inc
INCLUDEPATH += $$PWD/../../../Module/ShareMem/Inc
INCLUDEPATH += $$PWD/../../../Module/ZeroMQClient/Inc
INCLUDEPATH += $$PWD/../../../Module/ZeroMQPubSub/Inc
INCLUDEPATH += $$PWD/../../../Module/FFMediaStream/Inc
INCLUDEPATH += $$PWD/../../../Module/AuthModule/Inc
INCLUDEPATH += $$PWD/../../../Module/WDRemoteReceiver/Inc
INCLUDEPATH += $$PWD/../../../AppUtils/AppCommon/Inc
INCLUDEPATH += $$PWD/../../../AppUtils/AppConfig/Inc
INCLUDEPATH += $$PWD/../../../AppUtils/UICommon/Inc
# Protobuf / ZeroMQ
INCLUDEPATH += $$PWD/../../../SDK/Protobuf_3_20/include
INCLUDEPATH += $$PWD/../../../SDK/ZeroMQ/include
# 源文件
SOURCES += \
main.cpp \
mainwindow.cpp \
dialogalgoarg.cpp \
dialogcamerasetting.cpp \
2026-07-03 14:19:06 +08:00
dialoghistoryresult.cpp \
2026-06-26 17:55:15 +08:00
resultitem.cpp \
Presenter/Src/ConfigManager.cpp \
Presenter/Src/DroneScrewCtrlPresenter.cpp
HEADERS += \
mainwindow.h \
dialogalgoarg.h \
dialogcamerasetting.h \
2026-07-03 14:19:06 +08:00
dialoghistoryresult.h \
2026-06-26 17:55:15 +08:00
resultitem.h \
Version.h \
IYDroneScrewCtrlStatus.h \
Presenter/Inc/ConfigManager.h \
Presenter/Inc/DroneScrewCtrlPresenter.h
FORMS += \
mainwindow.ui \
dialogalgoarg.ui \
dialogcamerasetting.ui \
2026-07-03 14:19:06 +08:00
dialoghistoryresult.ui \
2026-06-26 17:55:15 +08:00
resultitem.ui
RESOURCES += \
../../../AppUtils/UICommon/common_resources.qrc \
resources.qrc
# Windows 任务栏 / exe 图标
win32 {
RC_ICONS = resource/logo.ico
}
# 链接
win32:CONFIG(debug, debug|release) {
LIBS += -L../../../Utils/VrUtils/debug -lVrUtils
LIBS += -L../../../AppUtils/UICommon/debug -lUICommon
LIBS += -L../../../AppUtils/AppCommon/debug -lAppCommon
LIBS += -L../../../AppUtils/AppConfig/debug -lAppConfig
LIBS += -L../../../Module/AuthModule/debug -lAuthModule
LIBS += -L../../../Module/ZeroMQClient/debug -lZeroMQClient
LIBS += -L../../../Module/ZeroMQPubSub/debug -lZeroMQPubSub
LIBS += -L../../../Module/FFMediaStream/debug -lFFMediaStream
LIBS += -L../../../Module/ShareMem/debug -lShareMem
LIBS += -L../../../Module/WDRemoteReceiver/debug -lWDRemoteReceiver
LIBS += -L../DroneScrewCtrlConfig/debug -lDroneScrewCtrlConfig
}else:win32:CONFIG(release, debug|release){
LIBS += -L../../../Utils/VrUtils/release -lVrUtils
LIBS += -L../../../AppUtils/UICommon/release -lUICommon
LIBS += -L../../../AppUtils/AppCommon/release -lAppCommon
LIBS += -L../../../AppUtils/AppConfig/release -lAppConfig
LIBS += -L../../../Module/AuthModule/release -lAuthModule
LIBS += -L../../../Module/ZeroMQClient/release -lZeroMQClient
LIBS += -L../../../Module/ZeroMQPubSub/release -lZeroMQPubSub
LIBS += -L../../../Module/FFMediaStream/release -lFFMediaStream
LIBS += -L../../../Module/ShareMem/release -lShareMem
LIBS += -L../../../Module/WDRemoteReceiver/release -lWDRemoteReceiver
LIBS += -L../DroneScrewCtrlConfig/release -lDroneScrewCtrlConfig
}else:unix:!macx {
LIBS += -L../DroneScrewCtrlConfig -lDroneScrewCtrlConfig
LIBS += -L../../../AppUtils/UICommon -lUICommon
LIBS += -L../../../AppUtils/AppCommon -lAppCommon
LIBS += -L../../../AppUtils/AppConfig -lAppConfig
LIBS += -L../../../Module/AuthModule -lAuthModule
LIBS += -L../../../Module/ZeroMQClient -lZeroMQClient
LIBS += -L../../../Module/ZeroMQPubSub -lZeroMQPubSub
LIBS += -L../../../Module/FFMediaStream -lFFMediaStream
LIBS += -L../../../Module/ShareMem -lShareMem
LIBS += -L../../../Module/WDRemoteReceiver -lWDRemoteReceiver
LIBS += -L../../../Utils/VrUtils -lVrUtils
# 系统库(板子自带)
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
LIBS += -L$$PWD/../../../SDK/ZeroMQ/Arm/aarch64 -lzmq
# WDRemoteReceiver uses OpenCV imgcodecs for PNG raw-image decode.
OPENCV_LIB_DIR = $$PWD/../../../SDK/OpenCV320/Arm/aarch64
LIBS += -L$${OPENCV_LIB_DIR} -lopencv_imgcodecs -lopencv_core
QMAKE_LFLAGS += -Wl,-rpath-link,$${OPENCV_LIB_DIR}
LIBS += -lpthread -ldl
}
win32 {
LIBS += -lws2_32
LIBS += Advapi32.lib
# 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/dronescrewctrl
LIBS += -lrt
}
!isEmpty(target.path): INSTALLS += target