如果要导出某个struct,class,function, 则把__attribute__((visibility("default"))) 放置在你希望导出的struct,class,function的声明处,然后修改你的GCC构建参数
使用-fvisibility= hidden参数编译每一个源文件代码。GCC编译源代码文件的visibility默认属性是public,所以默认所有符号都导出来的,设置为hidden后然后再需要导出的
地方加__attribute__((visibility("default"))),以达到控制导出符号的目的
如何修改GCC的编译选项
在CMAKE中: SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")