a.out call function fooA() using dlopen function to open libA.so.
fooA() is defined in libA.so //dynamic library
fooA() call function fooB();
fooB() is defined in libB.a //statistic library
fooB() call function fooC();
fooC() is defined in libC.so //dynamic library
libA.so libB.a libC.so are not in the same folder.
****
当我编译它们时没关系。但我得到运行时错误,“符号查找错误:libA.so:未定义符号:fooC()”。我不知道为什么。如何解决动态库和统计库之间调用的函数问题?
对不起我的英语很差。我不知道我是否清楚地描述了我的问题。
答案 0 :(得分:0)
你的二进制文件中有什么东西引入了libC.so吗? (直接或通过dlopen()
与RTLD_GLOBAL
)?如果没有,那就是你的问题。