我有一个Java应用程序,它必须加载具有一些依赖项的DLL。我在同一个文件夹中复制了所有必需的DLL。我设置的DLL使用SeeingMachine FaceApi库。现在,当我启动Java应用程序时,我将收到错误,我的DLL无法找到依赖项:
Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Users\[..]\bin_dbg\HeadTrackerDLL.dll: Can't find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at Tracker.<clinit>(Tracker.java:12)
at TrackerControls.<init>(TrackerControls.java:18)
at Main.main(Main.java:6)
我该如何解决这个问题?因为Dependency Walker没有显示任何错误。我不想手动加载所有DLL文件。
答案 0 :(得分:2)
所以我想我用mt.exe工具解决了我的问题。
mt.exe -manifest HeadTrackerDLL.dll.intermediate.manifest -outputresource:HeadTrackerDLL.dll;
使用此代码行,清单文件和dll文件将打包到dll文件中,以便找到所有依赖项。
我的应用程序运行。我希望这是解决方案。