我有一個共享庫項目,該項目由4個靜態庫(.a)和一個對象(.o)文件構建。我試圖添加-fvisibility=hidden選項以將輸出中的符號限制為僅使用__attribute__在源中標記的符號。我已將該-fvisibility=hidden選項添加到.so項目(涵蓋.o文件)和項目的編譯選項中.a。目標文件中的符號已從final中刪除.so。但是,.a項目中的符號都仍在最終.so文件中。將-fvisibility=hidden選項添加到.so鏈接命令無效。我究竟做錯了什么?我的目的是從.so庫的接口函數之外的所有符號中刪除。編輯:我實際上使用了一個版本映射來解決這個問題。但是,隨著外部符號的更改,它需要繼續維護版本腳本。接受的答案有一個更好的主意。
添加回答
舉報
0/150
提交
取消