0

我正在我的系统中为使用来自 openvino 的库的应用程序创建一个 .appimage ..在另一个系统上部署它时..它在 opencv Mat() 函数中给我符号查找错误..

分布式系统安装了openvino,但它比我使用的版本旧..所以在运行时...... AppDir文件夹中的AppImage或AppRun使用系统中的opencv库(较旧)

Do..AppImage 总是优先选择系统库..如果系统中不存在捆绑库,则使用捆绑库

错误是

./Check-Video-x86_64.AppImage 
./Check-Video-x86_64.AppImage: symbol lookup error: ./Check-Video-x86_64.AppImage: undefined symbol: _ZN2cv3MatC1Ev

欢迎任何有关 appImage 库偏好和解决错误的见解

提前致谢

4

1 回答 1

0

它使用两者,优先使用捆绑的。所以如果一个给定.so的被捆绑,它将被使用。通常不包括 glibc 和驱动程序等低级库。这是一场寻求更好的可移植性和减小捆绑包大小的赌博。请注意,根据用于创建 AppImage 的方法(或工具),这可能会有所不同。

您可以使用系统链接器的调试功能来了解真正加载了哪些文件,如下所示:

LD_DEBUG=libs ./yourapp.AppImage

于 2021-08-24T19:13:12.257 回答