C 动态链接到共享库抑制/处理 "cannot open shared object file" fatal error ,并继续链接

标签 c linux gcc ld dlsym

我想链接到 C 语言的共享库。(在 Linux 上)

我想抑制或处理:

“加载共享库时出错:libxxxx.so:无法打开共享对象文件:没有这样的文件或目录”

并继续加载到下一个库的链接,该库可能会解决左侧未解析的符号。

我猜应该使用 gcc/ld/dlsym 选项,但无法理解如何...

有人知道吗?

最佳答案

如果您收到此错误,则说明您正在链接到执行链接的系统上不存在(或至少在库路径上不存在)的共享库。

您不能链接到不存在的共享库;如果有其他库可能(希望能够)解析仍要链接的符号,则只需删除指向不存在的共享库的链接即可。

如果您想要做的是仅当共享库存在时才使其链接到该共享库,则适当的操作过程是使用 dlopen() 在代码中打开该库,而不是把它放在链接线上。

关于C 动态链接到共享库抑制/处理 "cannot open shared object file" fatal error ,并继续链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22771578/

相关文章:

C 指针。将大数赋值给 char * 指针

c - 如果一个单词截断一个 int 会发生什么?

c - 未知操作码 '.pword'

c++ - 在 Vortex86 : "Illegal instruction" 上编译

c - 在 GCC 中使用自定义主加载器

c - 消息目录文件的默认扩展名

linux - 差异实用程序和 ftp

php - mkdir 不遵守权限参数

linux - 系统服务依赖

在输出文件中没有任何附加数据的情况下编译和链接 C 代码