我正在用C++编写一些JNI代码,以便从Windows XP上的小程序中调用。我已经能够成功地运行applet并加载并调用JNI库,甚至可以让它调用其他DLL中的函数。我通过设置PATH系统环境变量来包含所有我的DLL所在的目录,从而得到了这个工作。UnsatisfiedLinkError:无法找到指定的程序
所以,问题在于我添加了另一个使用新外部DLL的调用,并且在加载库,抛出一个UnsatisfiedLinkError。该消息是:'找不到指定的程序'。这似乎不是一个缺少依赖DLL的问题,因为我可以删除一个依赖DLL并获取有关依赖DLL丢失的不同消息。从我在网上可以找到的信息看来,这条消息意味着DLL中没有原生的Java函数实现,但奇怪的是,没有这些额外的代码就可以正常工作。
有谁知道可能是什么原因造成的?对于UnsatisifedLinkError,什么类型的东西可以给出'无法找到指定的过程'消息?
我有这个问题。 libA被拉到libBv2和libC中。 libBv2和libC都被找到了。问题在于libC依赖于不同的版本libBv1。 libBv1和libBv2不能一起工作。依赖walker展示了这些库,但我没有扩展libC的依赖关系。我使用procmon(http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx)来查看正在加载的库,那是当我注意到正在加载的第二版libB。 – codeDr 2014-01-28 23:11:38