C动态链接到共享库,抑制/处理“无法打开共享对象文件”致命错误,并继续链接

时间:2014-03-31 20:30:33

标签: c linux gcc ld dlsym

我想链接到C中的共享库(在Linux上)

我想压制或处理:

加载共享库时出现

"错误:libxxxx.so:无法打开共享对象文件:没有这样的文件或目录"

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

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

有没有人有线索?

1 个答案:

答案 0 :(得分:2)

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

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

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