cmake 如何隐藏 so库中的符号 ?

83 阅读1分钟

以C++ 为例

cmake_minimum_required(VERSION 3.5) 
project(MyLibrary) 
set(CMAKE_CXX_STANDARD 11) 
# 添加 -fvisibility=hidden 编译选项 
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden") 
# 源文件 set(SOURCE_FILES mylibrary.cpp) 
# 生成共享库 add_library(MyLibrary SHARED ${SOURCE_FILES})

也可

set(CMAKE_CXX_VISIBILITY_PRESET "hidden")
set(CMAKE_C_VISIBILITY_PRESET "hidden")