QT += core QT += gui TEMPLATE = app CONFIG += c++11 console # Add /utf-8 flag only for MSVC builds to enforce UTF-8 encoding win32-msvc { QMAKE_CXXFLAGS += /utf-8 # Define DLLBUILD for static libmodbus linking # This makes MODBUS_API expand to __declspec(dllexport) which works for static lib DEFINES += DLLBUILD } # You can make your code fail to compile if it uses deprecated APIs. # In order to do so, uncomment the following line. #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 INCLUDEPATH += $$PWD/../../../Utils/VrCommon/Inc INCLUDEPATH += $$PWD/../../../Utils/VrUtils/Inc INCLUDEPATH += $$PWD/../../../Utils/CloudUtils/Inc INCLUDEPATH += $$PWD/Presenter/Inc INCLUDEPATH += $$PWD/Utils/Inc INCLUDEPATH += $$PWD/../../../Nets/SDK/modbus/Inc INCLUDEPATH += $$PWD/../../../Nets/TCPServer/Inc INCLUDEPATH += $$PWD/../../../Nets/ModbusTCPServer/Inc INCLUDEPATH += $$PWD/../../../VrConfig/Inc INCLUDEPATH += $$PWD/../../../Device/VrEyeDevice/Inc INCLUDEPATH += $$PWD/../BeltTearingConfig/Inc INCLUDEPATH += $$PWD/../../../Module/AuthModule/Inc # SDK算法库路径? INCLUDEPATH += $$PWD/../../../AppAlgo/beltTearing/Inc SOURCES += \ main.cpp \ BeltTearingPresenter.cpp \ PointCloudImageUtils.cpp \ PathManager.cpp \ RobotProtocol.cpp \ RobotProtocolSimplified.cpp \ ModbusRTUMaster.cpp \ TearingTcpProtocol.cpp HEADERS += \ BeltTearingPresenter.h \ PointCloudImageUtils.h \ Version.h \ RobotProtocol.h \ RobotProtocolSimplified.h \ ModbusRTUMaster.h \ TearingTcpProtocol.h FORMS += win32:CONFIG(debug, debug|release) { LIBS += -L../BeltTearingConfig/debug -lBeltTearingConfig LIBS += -L../../../Device/VrEyeDevice/debug -lVrEyeDevice LIBS += -L../../../Utils/CloudUtils/debug -lCloudUtils LIBS += -L../../../Nets/debug -lVrTcpServer LIBS += -L../../../Nets/debug -lModbusTCPServer LIBS += -L../../../Nets/debug -lVrModbus LIBS += -L../../../Module/AuthModule/debug -lAuthModule LIBS += -L../../../Utils/VrUtils/debug -lVrUtils }else:win32:CONFIG(release, debug|release){ LIBS += -L../BeltTearingConfig/release -lBeltTearingConfig LIBS += -L../../../Device/VrEyeDevice/release -lVrEyeDevice LIBS += -L../../../Utils/CloudUtils/release -lCloudUtils LIBS += -L../../../Nets/release -lVrTcpServer LIBS += -L../../../Nets/release -lModbusTCPServer LIBS += -L../../../Nets/release -lVrModbus LIBS += -L../../../Module/AuthModule/release -lAuthModule LIBS += -L../../../Utils/VrUtils/release -lVrUtils }else:unix:!macx { # Unix/Linux library links. LIBS += -L../BeltTearingConfig -lBeltTearingConfig LIBS += -L../../../Nets -lModbusTCPServer LIBS += -L../../../Nets -lVrModbus LIBS += -L../../../Nets -lVrTcpServer LIBS += -L../../../Device/VrEyeDevice -lVrEyeDevice LIBS += -L../../../Utils/CloudUtils -lCloudUtils LIBS += -L../../../Module/AuthModule -lAuthModule LIBS += -L../../../Utils/VrUtils -lVrUtils # System library dependencies. LIBS += -lpthread } # SDK 配置:VzNLSDK 与 WoodSDK 仅 SDK 库不同,其余编译配置一致。 # 需与 Device/VrEyeDevice/VrEyeDevice.pro 保持一致。 # 发布脚本通过 qmake CONFIG+=woodsdk / CONFIG+=vznlsdk 选择,默认 VzNLSDK。 contains(CONFIG, woodsdk):!contains(CONFIG, vznlsdk) { DEFINES += VREYE_USE_WOODSDK INCLUDEPATH += $$PWD/../../../Device/SDK/WoodSDK/Inc INCLUDEPATH += $$PWD/../../../Device/SDK/WoodSDK/VzToWDInc win32 { LIBS += -L$$PWD/../../../Device/SDK/WoodSDK/Windows -lWoodSDK } else:unix:!macx { LIBS += -L$$PWD/../../../Device/SDK/WoodSDK/Arm/aarch64 -lWoodSDK LIBS += -ldl -lpthread -lrt } } else { CONFIG += vznlsdk INCLUDEPATH += $$PWD/../../../Device/SDK/VzNLSDK/_Inc INCLUDEPATH += $$PWD/../../../Device/SDK/VzNLSDK/Inc win32:CONFIG(release, debug|release): { LIBS += -L$$PWD/../../../Device/SDK/VzNLSDK/Windows/x64/Release LIBS += -lVzKernel -lVzNLDetect -lVzNLGraphics } else:win32:CONFIG(debug, debug|release): { LIBS += -L$$PWD/../../../Device/SDK/VzNLSDK/Windows/x64/Debug LIBS += -lVzKerneld -lVzNLDetectd -lVzNLGraphicsd } else:unix:!macx: { LIBS += -L$$PWD/../../../Device/SDK/VzNLSDK/Arm/aarch64 # 强制链接所有符号,避免循环依赖问题 LIBS += -Wl,--whole-archive LIBS += -lVzKernel -lVzNLDetect -lVzNLGraphics -lVzLog -lVzEyeSecurityLoader-shared LIBS += -Wl,--no-whole-archive LIBS += -ldl -lpthread -lrt } } INCLUDEPATH += ../../../SDK/OpenCV320/include win32:CONFIG(release, debug|release): { LIBS += -L$$PWD/../../../SDK/OpenCV320/Windows/vc14/Release -lopencv_world320 # Algorithm SDK library. LIBS += -L$$PWD/../../../AppAlgo/beltTearing/Windows/x64/Release -lbeltTearingDetection } else:win32:CONFIG(debug, debug|release): { LIBS += -L$$PWD/../../../SDK/OpenCV320/Windows/vc14/Release -lopencv_world320 # Algorithm SDK library. LIBS += -L$$PWD/../../../AppAlgo/beltTearing/Windows/x64/Debug -lbeltTearingDetection } else:unix:!macx: { LIBS += -L$$PWD/../../../SDK/OpenCV320/Arm/aarch64 -lopencv_core -lopencv_imgproc -lopencv_highgui # Algorithm SDK library. LIBS += -L$$PWD/../../../AppAlgo/beltTearing/Arm/aarch64 -lbeltTearingDetection } # 添加Windows系统库依赖 win32 { LIBS += -lshell32 LIBS += -lws2_32 LIBS += -lAdvapi32 # For serial communication on Windows LIBS += -lsetupapi }