JNI系统.加载库问题-使用C库的本地c++ dll

JNI system.loadlibrary problem - native C++ dll using C library

本文关键字:c++ dll 使用 系统 加载 问题 JNI      更新时间:2023-10-16

我有一个非常恼人的编译问题。

我正在尝试做一个系统。在VS2010中加载一个c++ DLL,而这个DLL又使用了VS2008中编译的一个C DLL。

得到的错误是:unsatisfiedlinkerror:应用程序启动失败,因为它的并排配置不正确

当我的c++ DLL试图调用C DLL中的函数时,就会发生这种情况。两者都可以很好地编译,并且都在Java Applet可访问的文件夹中。

这有可能以某种方式解决吗?你还需要更多的信息吗?

您应该尝试在dll上使用依赖项跟踪器。从并行错误中,我假设丢失了一个c运行时redist包或一个nordist包。但深度步行者会告诉你这个。
如果这没有帮助,您可以从Windows的事件日志中获得更多信息,因为并排错误记录在那里,或者您需要使用sstrace获取更多信息。

您安装了VC2010和VC2008的运行时吗?

此外,您必须确保正确配置两个dll的清单,以便可以加载使用的库的正确版本。

参见:http://msdn.microsoft.com/en-us/library/ms235342.aspx