diff --git a/arm_pro/pt61850netd_pqfe.pro b/arm_pro/pt61850netd_pqfe.pro index a017e07..8cdae09 100644 --- a/arm_pro/pt61850netd_pqfe.pro +++ b/arm_pro/pt61850netd_pqfe.pro @@ -5,13 +5,15 @@ 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/include/rocketmq \ + ./source/redisstream -QMAKE_ORIG_TARGET = $$(TARGET) +QMAKE_ORIG_TARGET = $$TARGET QT += core xml network CONFIG += thread @@ -20,7 +22,18 @@ DEFINES += _CRT_SECURE_NO_WARNINGS DEFINES += MMS_LITE LINUX=2 MOSI LEAN_T TP0_ENABLED DEFINES += CLIENT _DEBUG _REENTRANT _GNU_SOURCE _LARGEFILE64_SOURCE -# debug/release flags +# 如果 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 @@ -39,7 +52,6 @@ win32 { } win32 { - # RC_FILE=pt61850netd_pqfe.rc SOURCES += source/mms/event.c INCLUDEPATH += ./source/include/apr QMAKE_LFLAGS += /NODEFAULTLIB:libcmt.lib @@ -69,62 +81,51 @@ win32 { } 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 - include(fe_common.pri) + SOURCES += source/mms/event2.c INCLUDEPATH += ./source/include/apr-linux - LIBS += -L/FeProject/lib - # LIBS += -L/FeProject/lib/pgodbc - DEFINES += DEBUG_SISCO VERSION = 1.0.0 - # rpath - QMAKE_LFLAGS += -Wl,-rpath,/FeProject/lib \ - -Wl,-rpath,/FeProject/lib/mmslite + # 本地 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_LIB_SUFFIX = _ld.a - LIBS += /FeProject/lib/mmslite/ositcps$$MMS_LIB_SUFFIX \ - /FeProject/lib/mmslite/mvl$$MMS_LIB_SUFFIX \ - /FeProject/lib/mmslite/mmsle$$MMS_LIB_SUFFIX \ - /FeProject/lib/mmslite/mmsl$$MMS_LIB_SUFFIX \ - /FeProject/lib/mmslite/asn1l$$MMS_LIB_SUFFIX \ - /FeProject/lib/mmslite/mem$$MMS_LIB_SUFFIX \ - /FeProject/lib/mmslite/slog$$MMS_LIB_SUFFIX \ - /FeProject/lib/mmslite/util$$MMS_LIB_SUFFIX \ - /FeProject/lib/mmslite/ssec0$$MMS_LIB_SUFFIX \ - /FeProject/lib/libcurl.so \ - /FeProject/lib/libmxml4.so \ - /FeProject/lib/librocketmq.so \ - /FeProject/lib/libhttprun.so \ - /FeProject/lib/liblog4cplus.so + # MMS 静态总库,按 x86 已验证版本方式处理 + LIBS += $$PWD/lib/libmmslib.a - LIBS += -lapr-1 -laprutil-1 -ljclite - LIBS += -lrdkafka++ - LIBS += -lrdkafka - LIBS += -L/FeProject/lib -llog4cplus - LIBS += -L/root/JoyProject/3rdparty/boost_pic_aarch64/lib -Wl,--no-as-needed -lboost_iostreams -Wl,--as-needed - LIBS += -L/root/JoyProject/3rdparty/zlib_pic_aarch64/lib -lz + # 基础依赖库,全部从 $$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 } -# install target.path = ../../bin INSTALLS += target -# Input - HEADERS += source/mms/db_interface.h \ source/include/otlv4.h \ source/mms/mmsclient.h \ @@ -134,11 +135,9 @@ HEADERS += source/mms/db_interface.h \ source/misc/SM4.h \ source/json/save2json.h \ source/json/mms_json_inter.h \ - # source/json/rdkafka.h \ - # source/json/rdkafkacpp.h \ - # source/json/kafka_producer.h \ source/json/cjson.h \ source/rocketmq/SimpleProducer.h \ +# source/redisstream/RedisStreamMQ.h \ source/cfg_parse/custom_printf.h \ source/log4cplus/log4.h @@ -161,15 +160,10 @@ SOURCES += source/mms/main.c \ source/misc/my_encrypt.cpp \ source/json/save2json.cpp \ source/cfg_parse/cfg_parser.cpp \ - # source/json/kafka_producer.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/cfg_parse/log4.cpp \ - # source/cfg_parse/oss_aliyun.cpp \ - #source/cfg_parse/obs_huaweiyun.cpp \ - # source/cfg_parse/datahub.cpp \ - # source/cfg_parse/uds_huaweiyun.cpp - +# source/redisstream/RedisStreamMQ.cpp \ + source/cfg_parse/log4.cpp \ No newline at end of file