Windows advapi.dll引用不存在的dll

时间:2014-03-03 16:44:44

标签: java c++ dll java-native-interface libavformat

我正在使用Java JNI加载native dll模块(64 bit JVM, 64 bit dll, Windows 8.1)。模块用于使用H.264libavcodec文件解码为字节数组,该文件位于预编译的共享dll中。

当我在普通的JNI中玩游戏时(将String传递给JNI并返回byte[]),加载我的DLL模块没有问题。但是当我添加对avformat.dll的引用时,我的dll将不会加载导致unsatisfied link error: Can´t find dependant libraries

我使用avformat确定了DependencyWalker的范围。这取决于advapi.dll,这取决于几个报告为缺失的dll。他们是API-MS-WIN-CORE-KERNEL32-PRIVATE-L1-1-1.DLL。我的Win安装上真的没有这个dll。

所以,现在我对两件事感到困惑:

1,为什么MS提供的advapi.dll依赖于不属于系统的dll?

2,当我以前尝试以独立的Win32应用程序(exe)的形式使用avformat库时,DependencyWalker报告了相同的缺失dll,但它执行已解码的帧没有任何问题。如果我错过了它的依赖性,这怎么可能呢?

0 个答案:

没有答案