TEMPLATE = app TARGET = pt61850netd_pqfe DEPENDPATH += . INCLUDEPATH += . \ ./source \ ./source/include \ ./source/include/inc \ ./source/include/mmslite \ ./source/include/pg_inst \ ./source/include/curl \ ./source/include/oss_sdk \ ./source/include/rocketmq \ ./source/redisstream QMAKE_ORIG_TARGET = $$TARGET QT += core xml network CONFIG += thread DEFINES += _CRT_SECURE_NO_WARNINGS DEFINES += MMS_LITE LINUX=2 MOSI LEAN_T TP0_ENABLED DEFINES += CLIENT _DEBUG _REENTRANT _GNU_SOURCE _LARGEFILE64_SOURCE # 如果 ARM 版本也要保留 RocketMQ / Redis Stream 运行时切换,保留这个宏 DEFINES += USE_MQ_MULTI_BACKEND # C++ 标准 unix { QMAKE_CXXFLAGS -= -std=gnu++98 QMAKE_CXXFLAGS -= -std=c++98 QMAKE_CXXFLAGS -= -std=gnu++11 QMAKE_CXXFLAGS -= -std=c++11 QMAKE_CXXFLAGS += -std=gnu++14 } CONFIG(debug, debug|release) { message("Building debug version with debug symbols") QMAKE_CFLAGS_DEBUG += -g -O0 QMAKE_CXXFLAGS_DEBUG += -g -O0 CONFIG += force_debug_info } else { message("Building release version") QMAKE_CFLAGS_RELEASE += -O2 QMAKE_CXXFLAGS_RELEASE += -O2 } win32 { DEFINES -= UNICODE DEFINES += _AFXDLL CONFIG += console } win32 { SOURCES += source/mms/event.c INCLUDEPATH += ./source/include/apr QMAKE_LFLAGS += /NODEFAULTLIB:libcmt.lib LIBS += -L./lib -L./lib/mmslite -lws2_32 CONFIG(debug, debug|release) { DEFINES += DEBUG_SISCO MMS_LIB_SUFFIX = _ld.lib QMAKE_POST_LINK = $$QMAKE_COPY debug\\*.exe ..\\..\\usr_bin\\jspqfe_home\\bin } else { MMS_LIB_SUFFIX = _n.lib QMAKE_POST_LINK = $$QMAKE_COPY release\\*.exe ..\\..\\usr_bin\\jspqfe_home\\bin } LIBS += ositcps$$MMS_LIB_SUFFIX \ mvl$$MMS_LIB_SUFFIX \ mmsle$$MMS_LIB_SUFFIX \ mmsl$$MMS_LIB_SUFFIX \ asn1$$MMS_LIB_SUFFIX \ mem$$MMS_LIB_SUFFIX \ meml$$MMS_LIB_SUFFIX \ slog$$MMS_LIB_SUFFIX \ utility$$MMS_LIB_SUFFIX \ ssec0$$MMS_LIB_SUFFIX LIBS += -llibapr-1 -llibaprutil-1 -llibjclite } unix { include(fe_common.pri) SOURCES += source/mms/event2.c INCLUDEPATH += ./source/include/apr-linux DEFINES += DEBUG_SISCO VERSION = 1.0.0 # 本地 lib 目录 LIBS += -L$$PWD/lib # 运行时优先找当前工程 lib。 # 如果程序最终放到 /FeProject/bin,旁边有 /FeProject/lib,则推荐 $$ORIGIN/../lib。 QMAKE_LFLAGS += -Wl,-rpath,'$$ORIGIN/../lib' QMAKE_LFLAGS += -Wl,-rpath,$$PWD/lib LIBS += -lrt -lpthread # MMS 静态总库,按 x86 已验证版本方式处理 LIBS += $$PWD/lib/libmmslib.a # 基础依赖库,全部从 $$PWD/lib 查找 LIBS += -lcurl \ $$PWD/lib/libmxml4.so \ -lrocketmq \ -lhttprun \ -llog4cplus \ -lapr-1 \ -laprutil-1 \ -ljclite \ -lrdkafka++ \ -lrdkafka # Redis Stream 后端需要 #LIBS += -lhiredis \ # -lz # 如果你的 RedisStreamMQ.cpp 里确实用了 boost_iostreams,再打开这一行。 # 如果只是 zlib compress/uncompress,没有用 boost,可以不加。 # LIBS += -lboost_iostreams } target.path = ../../bin INSTALLS += target HEADERS += source/mms/db_interface.h \ source/include/otlv4.h \ source/mms/mmsclient.h \ source/mms/mmsop_en.h \ source/mms/rdb_client.h \ source/mms/ver_conf.h \ source/misc/SM4.h \ source/json/save2json.h \ source/json/mms_json_inter.h \ source/json/cjson.h \ source/rocketmq/SimpleProducer.h \ # source/redisstream/RedisStreamMQ.h \ source/cfg_parse/custom_printf.h \ source/log4cplus/log4.h SOURCES += source/mms/main.c \ source/mms/clntobj.c \ source/mms/logcfgx.c \ source/mms/mms_process.c \ source/mms/mmscli_rpt.c \ source/mms/mmsclient.c \ source/mms/mmslvar.c \ source/mms/mmsop_en.c \ source/mms/mvl_acse.c \ source/mms/mvlop_en.c \ source/mms/parse_xml.c \ source/mms/rdb_client.c \ source/mms/rdb_ext_utils.c \ source/mms/reject.c \ source/mms/mmscli_log.c \ source/misc/SM4.cpp \ source/misc/my_encrypt.cpp \ source/json/save2json.cpp \ source/cfg_parse/cfg_parser.cpp \ source/json/create_json.cpp \ source/json/cjson.c \ source/cfg_parse/nacos.cpp \ source/cfg_parse/base64.cpp \ source/cfg_parse/SimpleProducer.cpp \ # source/redisstream/RedisStreamMQ.cpp \ source/cfg_parse/log4.cpp