From 981ca0fa022524fd04af988bc798f2d697d31548 Mon Sep 17 00:00:00 2001
From: lichao <lichao@aiotlink.com>
Date: 星期三, 19 五月 2021 14:33:10 +0800
Subject: [PATCH] hide .so symbols, avoid 2+ protobuf link conflict.
---
src/CMakeLists.txt | 5 +++--
src/exported_symbols | 23 +++++++++++++++++++++++
proto/cpp/CMakeLists.txt | 7 ++-----
3 files changed, 28 insertions(+), 7 deletions(-)
diff --git a/proto/cpp/CMakeLists.txt b/proto/cpp/CMakeLists.txt
index 1399af0..aa312d8 100644
--- a/proto/cpp/CMakeLists.txt
+++ b/proto/cpp/CMakeLists.txt
@@ -1,14 +1,11 @@
cmake_minimum_required(VERSION 3.0)
set (Target "bhome_msg")
-set (TargetStatic "bhome_msg_static")
project(${Target})
find_package(Protobuf REQUIRED)
file(GLOB proto_files ../source/*.proto)
PROTOBUF_GENERATE_CPP(PROTO_SRCS PROTO_HDRS ${proto_files})
-add_library(${Target} SHARED ${PROTO_SRCS})
-add_library(${TargetStatic} STATIC ${PROTO_SRCS})
-target_link_libraries(${Target} protobuf-lite)
-target_link_libraries(${TargetStatic} libprotobuf-lite.a)
+add_library(${Target} STATIC ${PROTO_SRCS})
+target_link_libraries(${Target} libprotobuf-lite.a)
\ No newline at end of file
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index e04328d..8d9de26 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -4,11 +4,12 @@
set(Target bhome_shmq)
set(TargetStatic bhome_shmq_static)
+set(CMAKE_SHARED_LINKER_FLAGS ${CMAKE_SHARED_LINKER_FLAGS} "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/exported_symbols")
include_directories(../log)
add_library(${Target} SHARED ${sources})
add_library(${TargetStatic} STATIC ${sources})
set(LogLibs "boost_log;boost_log_setup;boost_thread;boost_filesystem")
-target_link_libraries(${Target} bhome_msg_static ${LogLibs} pthread rt)
-target_link_libraries(${TargetStatic} bhome_msg_static ${LogLibs} pthread rt)
+target_link_libraries(${Target} bhome_msg ${LogLibs} pthread rt)
+target_link_libraries(${TargetStatic} bhome_msg ${LogLibs} pthread rt)
diff --git a/src/exported_symbols b/src/exported_symbols
new file mode 100644
index 0000000..3351da9
--- /dev/null
+++ b/src/exported_symbols
@@ -0,0 +1,23 @@
+VERS_1.0 {
+global:
+ BHApiIn1Out1Proxy;
+ BHRegister;
+ BHUnregister;
+ BHRegisterTopics;
+ BHQueryTopicAddress;
+ BHSubscribeTopics;
+ BHStartWorker;
+ BHHeartbeatEasy;
+ BHHeartbeat;
+ BHPublish;
+ BHReadSub;
+ BHAsyncRequest;
+ BHRequest;
+ BHReadRequest;
+ BHSendReply;
+ BHCleanup;
+ BHGetLastError;
+ BHFree;
+local:
+ *;
+};
--
Gitblit v1.8.0