export-dynamic
最近写代码用到了 dlopen函数,dlopen 函数里面使用到了 主程序中的一些全局符号(全局变量 或者 函数)。这个时候生成主程序 指定 dlopen函数的连接的 .so 文件的时候,报链接错误。经过咨询大佬得知,生成主程序的时候加上 -export-dynamic 选项就解决了,从现象上可以看到 加了这个选项后 动态库文件就可以使用主程序的内容了。经过查询后得知,这样做会把主程序的所有符号(static修饰的除外)都添加到主程序的动态链接符号表中,这样等加载动态库的时候就可以使用这些符号了。