opencv AppImage:当部署在另一个系统中时,它是否使用捆绑在其中的.so文件,还是分布式系统中存在的文件?

3wabscal  于 2023-01-05  发布在  其他
关注(0)|答案(1)|浏览(130)

我正在我的系统中为使用openvino库的应用程序创建. appimage ..当在另一个系统上部署时..在opencv Mat()函数中出现符号查找错误..
分布式系统安装了openvino,但它的版本比我使用的版本旧..因此,运行时,AppDir文件夹中的AppImage或AppRun使用系统中的opencv库(旧版本)
AppImage是否始终优先选择系统库?如果系统中不存在捆绑库,则使用捆绑库
错误为

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

对appImage库首选项和解决错误有什么见解吗?

eeq64g8w

eeq64g8w1#

它同时使用这两个函数,并优先使用捆绑的函数。因此,如果绑定了给定的.so,则将使用它。通常不包括glibc和驱动程序等低级库。这是一场赌博,目的是寻找更好的可移植性并减少捆绑大小。请注意,根据用于创建AppImage的方法(或工具),这可能会有所不同。
您可以使用系统链接器的调试功能来了解实际加载的是哪些文件,如下所示:
LD_DEBUG=libs ./yourapp.AppImage

相关问题