Я пытаюсь использовать открытый интерфейс в DLL-файле в JAVA. Это то, что общедоступный интерфейс в .dll показывает:java.lang.UnsatisfiedLinkError при загрузке .dll
// Interface declaration.
public interface ISslTcpClient
{
string Encrypt(string requestContent);
string Decrypt(string requestContent);
};
Вот как я загружаю свою DLL и использовать его в своем приложении Java в Eclipse:
public class NJInew {
static {
System.loadLibrary("ICVTnsClient");
}
native String Encrypt(String requestContent);
public static void main(String[] args) {
NJInew p= new NJInew();
p.Encrypt("pejman");
}
} Однако я получаю следующее ошибка:
Exception in thread "main" java.lang.UnsatisfiedLinkError: NJInew.Encrypt(Ljava/lang/String;)Ljava/lang/String;
at NJInew.Encrypt(Native Method)
at NJInew.main(NJInew.java:13)
Пожалуйста, дайте мне знать, как исправить эту проблему, и я был бы очень признателен.
Он не может найти то, что вы призвание. – roxan
, если я просто использую статические { \t \t System.loadLibrary ("ICVTnsClient"); \t} он работает. Я попытался сменить имя из ICVTnsClient на некорректное имя, чтобы узнать, дает ли он мне ошибку, и это дало возможность. Проблема возникает, когда я пытаюсь использовать метод Encrypt из интерфейса –