在C程序中加载多个库

时间:2018-08-01 12:27:23

标签: c++ c gcc

我不知道这是否是一个坏问题,但是我的程序运行时遇到了未定义符号的问题。

我有20多个动态库,

当我运行加载库的程序

 void *encode_func  = dlopen("lib_9_3.so", RTLD_LAZY  );

它以未定义的符号返回错误,

所有符号取决于这20个动态库 我可以在我的C程序中加载所有这些动态库吗?

编辑::

if ( encode_func == NULL)
    {
            fprintf(stderr, "dlopen failed: %s\n", dlerror());
            return 1;
    }

代码很好, dlerror正在返回

 dlopen failed: ./lib_9_3.so: undefined symbol: sip_getExtensionParamCountFromFromHdr

这些符号存在于我的20个动态库中, 我通过做“ nm”发现了这一点

还有一件事,这些未定义的符号不是系统特定的。

我可以在我的C程序中加载所有这些动态库吗?

0 个答案:

没有答案