我试图在本地计算机上运行一个项目.
我试图加载这个jnilib文件,该文件是从Mac 10.6.2上该项目的运行实例获得的,
<code>System.load(lib.getAbsolutePath()); </code>
然后我抛出了这个异常:
<code>java.lang.UnsatisfiedLinkError, mach-o but wrong architecture </code>
我已经用文件命令检查了jnilib:
<code>libScreenMatchProxy.jnilib: Mach-O dynamically linked shared library i386 </code>
我猜这是因为jnilib文件是32位编译的,而Mac10.6自带的Java是64位.因此,我转到Java Preference并将Java设置为首先使用32bit.但这没有用.
如上所述,此jnilib文件是从Mac上正在运行的项目实例复制而来的,因此应该可以使用.我不明白为什么它在已安装的应用程序中起作用,但在我的Eclipse中不起作用.
解决方法:
从“运行配置”向VM参数添加“ -d32”将强制Eclipse以32位模式调用Java.那将解决这个问题.
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!