当前位置: 首页 > 知识库问答 >
问题:

JNA Macosx加载libXY。所以不是libXY。动态库

笪涛
2023-03-14

我正试图通过JNA加载sharedobject库

该文件名为libLIBNAME。我的代码如下所示:

Native.loadLibrary("LIBNAME", SomeInterface.class);

但是每次我执行它,我都会得到

无法加载库“LIBNAME”:dlopen(libLIBNAME.dylib,9):未找到图像

我怎么告诉JNA加载xxx.so而不是xxx.dylib?

我也尝试过包装。所以在a中归档。dylib只是通过传递论点,但显然没有运气

从libname设置符号链接。libLIBNAME也是如此。动态库结果:

无法加载库“LIBNAME”:dlopen(/path..../libLIBNAME.dylib,9):未找到合适的映像。找到:/路径/libLIBNAME。动态库:未知文件类型,前八个字节:0x62 0x6F 0x6F 0x6B 0x00 0x00 0x00 0x00

有什么想法吗?

共有1个答案

景书
2023-03-14

顾名思义,Native。loadLibrary()需要一个运行它的平台所固有的库——一个为另一个平台编译的库是不合适的。我不确定你的库文件是什么类型的文件,但dyld报告的前几个字节(62 6f 6f 6b=“book”?)表明它绝对不是Mac OS X动态库。

 类似资料:
  • 问题内容: 如标题所述,我想基于仅在运行时可用的信息来动态加载(或不)动态加载Go软件包。 目的是允许用户通过添加新的本机脚本命令的自定义程序包扩展程序。当前,每次我添加新命令或禁止使用某些命令时,都需要编辑程序并重新编译,而如果我可以制作某种dll之类的文件,则可以创建一个“导入”脚本命令来搜索和加载命名命令库。 出于好奇,该程序是基于定制命令的脚本库,我将其用于各种用途。 我提前进行了一些搜索

  • 问题内容: 我正在编写一个具有静态外部“外壳”和动态内容部分的Web应用程序。用户浏览系统时,动态内容部分具有许多更新。加载新的内容块时,还可以选择加载另一个JavaScript文件。我以良好的内务管理名义,从DOM中删除了适用于旧内容块的脚本块,因为不再需要JavaScript。 接下来是问题,当我意识到尽管我已经从DOM中删除了该元素,但是先前评估过的JavaScript仍然可以执行。这当然是

  • 问题内容: 以Redux-Form中的InitializationFromState为例,我试图动态地进行设置。这是在书籍列表中编辑特定书籍,并使用在express.js中设置的简单api。 完整的容器在下面。我不知何故需要在函数中传递。在示例中,这是通过静态对象完成的,但我无法弄清楚如何使用通过提取的信息并将其传递给。 容器: 谢谢。 问题答案: 您的表单值不是吗?我认为这就是您要寻找的全部:

  • 问题内容: 我正在尝试为我的网站创建页面主题功能。我想使用单独的CSS文件在页面上动态加载相应的主题。 我正在使用此代码: 效果很好,但是如果CSS文件未加载,它不会返回任何信息。 加载时,有什么方法可以捕捉吗?也许通过使用ajax? 问题答案: 加载CSS文件(或其任何其他更改)时,Internet Explorer会触发一个事件。其他浏览器不会触发任何事件,因此您将必须手动检查样式表是否已加载

  •  说明 调用方法: $.f2e.util.getScript(url,cache,fn); 函数说明: 加载js,并提供相关回调 参数说明: 参数名 类型 说明 备注 url string 地址 无 cache boolean 缓存 无 fn function 回调函数 无 脚本 <script> $.f2e.util.getScript(url,true,function(){