Я хочу вызвать метод .DLL в Eclipse. Вот мой код:Загрузка .DLL в Java
class TestJNI1 {
public native void LireNoVersion();
public void a() {
System.loadLibrary("tttt.dll");
LireNoVersion();
}
}
public GlobalAction() {
this.setBackground(GlobalPreferences.PANEL_BACKGROUND_COLOR);
new TestJNI1().a();
}
Проблема заключается в том, что у меня есть эта ошибка при компиляции
Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: Expecting an absolute path of the library: tttt.dll at java.lang.Runtime.load0(Unknown Source) at java.lang.System.load(Unknown Source)
Я уже пытался:
- аргументы Набор в Затмении
- Moving в корень проекта и папка System32
- Добавлен путь к папке в локальной библиотеке loca Тион в Затмении
- Изменение% PATH% в окнах
- Давать абсолютный путь в качестве аргумента
- Пытаюсь с "tttt.dll", "./tttt.dll" и ".tttt.dll"
- вызовов с
System.loadLibrary(...)
иSystem.load(...)
UPDATE
Я попытался напечатать java.library.path
и получить путь. Я поставил DLL в этом пути, и сообщение об ошибке более запутанным Сейчас:
Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: D:\My\Exact\Path\tttt.dll: Can't find dependent libraries
Вот код, чтобы напечатать путь:
String property = System.getProperty("java.library.path");
StringTokenizer parser = new StringTokenizer(property, ";");
while (parser.hasMoreTokens()) {
System.err.println(parser.nextToken());
}
Это работает, если вы указали абсолютный путь к вашей DLL i.e 'C:/tttt.dll'? Пробовали ли вы все следующие примеры: https://www.chilkatsoft.com/java-loadLibrary-Windows.asp – Cyclonecode
И вы получаете то же сообщение об ошибке **, когда ** вы указываете абсолютный путь, то есть 'C:/tttt.dll'? – Cyclonecode
Да, я тоже пробовал – Totem