首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenCL dlopen问题

OpenCL dlopen问题
EN

Stack Overflow用户
提问于 2018-01-26 06:42:08
回答 4查看 1.5K关注 0票数 0

我试图在运行Android 7.0的三星电脑上dlopen /system/vendor/lib/libOpenCL.so,我得到了一个我以前从未遇到过的错误:

E/链接器:命名空间无法访问由"/data/app/.../lib/arm64/libCLProcessor.so“打开的库”/系统/供应商/lib/libOpenCL.so“(”/系统/供应商/lib/lib/libOpenCL.so“):name=”类加载器名称空间“,ld_library_paths="",default_library_paths="...")

它可以在另一台Android7.0设备(摩托罗拉G4)上运行,libOpenCL.so在同一目录下。

有谁知道为什么它能在一台设备上工作,而在另一台设备上不能工作?

我正在使用https://github.com/krrishnarraj/libopencl-stub/blob/master/src/libopencl.c中的代码dlopen/use cl函数,它们可以很好地在打开打开的cl库的设备上运行。

EN

回答 4

Stack Overflow用户

发布于 2018-10-25 19:27:25

这个问题似乎是一个有效的构建问题,因为/system/etc/public.libraries.txt中没有填充/libOpenCL.so。

我通过编辑文件(添加了libOpenCL.so),在一个有效的开发板上解决了同样的问题。

票数 1
EN

Stack Overflow用户

发布于 2019-03-06 21:45:45

Android限制对私有库的访问,App开发者不能访问该库。Google Document

如果您是应用程序开发人员(我的意思是不能访问系统文件),.Just有两个解决方案:

  1. 使用公共NDK API
  2. 来包含其自己的这些库的副本。

在这种情况下,可将库复制到您的应用程序中,或使用其他OpenCL

票数 0
EN

Stack Overflow用户

发布于 2020-03-13 15:32:06

检查/system/etc/public.libraries.txt中是否存在libOpenCL.so

如果没有,请将libOpenCL.so添加到上面的文件中,然后您可以重新启动设备以使更改生效。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48453097

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档