我有一个非常烦人的编译问题。
我正在尝试在VS2010中的C ++ DLL上执行System.loadlibrary,后者又使用在VS2008中编译的C DLL。
我得到的错误是: java.lang.UnsatisfiedLinkError:应用程序无法启动,因为 它的并排配置不正确
每当我的C ++ DLL尝试调用C DLL中的函数时,就会发生这种情况。两者都编译得很好,两者都在Java Applet可访问的文件夹中。
这可能以某种方式解决吗?您还需要更多信息吗?
答案 0 :(得分:2)
您应该尝试在DLL上使用dependency walker。 从并排错误我假设缺少一个c运行时redist包或一个noredist包。 但是步行者应该告诉你这个 如果这没有帮助,您可以从Windows的事件日志中获取更多信息,因为在那里记录了并排错误,或者您需要使用sxstrace获取更多信息。
答案 1 :(得分:0)
您是否安装了VC2010和VC2008的运行时?
此外,您必须确保正确配置两个DLL的清单,以便可以加载使用的库的正确版本。