Linker 如果库不是';你不在场吗?

Linker 如果库不是';你不在场吗?,linker,embedded-linux,Linker,Embedded Linux,我有一个linux应用程序,它运行在两个不同的文件系统上。一个文件系统有我链接的共享lib(即-lssl),另一个文件系统没有(因为它太大了,无法添加) 当使用没有libssl.so的较小文件系统时,应用程序不会执行,因为它无法动态链接 如果我想在使用lssl时动态加载它,那么应用程序还需要使用so来执行吗?即使从未调用过libssl?也可以使用dlopen()和dlclose()手动加载库 重新设计应用程序以使用dlopen和dlclose访问ssl库函数而不是链接,将只允许在存在ssl函数时

我有一个linux应用程序,它运行在两个不同的文件系统上。一个文件系统有我链接的共享lib(即-lssl),另一个文件系统没有(因为它太大了,无法添加)

当使用没有libssl.so的较小文件系统时,应用程序不会执行,因为它无法动态链接


如果我想在使用lssl时动态加载它,那么应用程序还需要使用so来执行吗?即使从未调用过libssl?

也可以使用dlopen()和dlclose()手动加载库

重新设计应用程序以使用dlopen和dlclose访问ssl库函数而不是链接,将只允许在存在ssl函数时使用ssl函数。通过这种方法,您可以使用单个构建,从而避免必须链接到ssl库(并且在运行时始终需要它的存在)


查看这里:

“……它不能动态链接,因为它不能动态链接。”——也许我也应该开始这样解释。它写起来快得多,而且保证准确!抱歉-为清晰起见进行了编辑“您可以手动加载库…”-从何处加载?您的“答案”忽略了共享对象不是本地存储的事实。这些功能如何帮助OP解决问题?将它们添加到由于动态链接器失败而无法执行的应用程序中?更新了响应,以澄清在ssl库存在和不存在时支持单个生成的能力@锯屑请重新访问-1。