cannot load shared object file undefined symbol 场景: 共享库里引用了主程序一个符号,结构编译的时候没问题,运行时用 dlopen 打开共享库报上述错误 原因:共享库使用的这个符号在主程序里没有任何调用,所以编译主程序时改符号没有被导出.需要在编译主程序时添加编译选项 : -export-dynamic -export-dynamic:默认情况下,链接器在产生可执行文件时,为了减少符号表大只会将那些被其他模块引用到的符号放到动态符号表.也就是说,…