为了账号安全,请及时绑定邮箱和手机立即绑定

如何将-fvisibility选项应用于静态库中的符号?

如何将-fvisibility选项应用于静态库中的符号?

扬帆大鱼 2019-11-27 14:36:56
我有一个共享库项目,该项目由4个静态库(.a)和一个对象(.o)文件构建。我试图添加-fvisibility=hidden选项以将输出中的符号限制为仅使用__attribute__在源中标记的符号。我已将该-fvisibility=hidden选项添加到.so项目(涵盖.o文件)和项目的编译选项中.a。目标文件中的符号已从final中删除.so。但是,.a项目中的符号都仍在最终.so文件中。将-fvisibility=hidden选项添加到.so链接命令无效。我究竟做错了什么?我的目的是从.so库的接口函数之外的所有符号中删除。编辑:我实际上使用了一个版本映射来解决这个问题。但是,随着外部符号的更改,它需要继续维护版本脚本。接受的答案有一个更好的主意。
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 1745 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信