0
java에서 C# dll 함수를 사용하려고합니다. 함수를 찾을 수 없다는 오류가 발생했지만 DLL이 발견되어 성공적으로로드되었습니다.찾고있는 오류 : ''지정된 프로 시저를 찾을 수 없습니다.
내가 문제를 찾고있는 동안 컴파일러가 기호와 전체 함수 이름을 'myFunction'대신 'myFunction @ 32'와 같은 것으로 맹 글링하는 것을 발견했습니다. 불행히도 그것은 내 문제가 아니 었습니다.
public interface IConectorT extends Library {
boolean DeleteCustomObjectRecord(String company, String username, String password, int cdoId,
String cdoName, int[] cdoRecordIds);
IConectorT INSTANCE = (IConectorT) Native.loadLibrary("C:\\Windows\\System32\\Eloqua API",
IConectorT.class, new HashMap() {
{
put("DeleteCustomObjectRecord","[email protected]");
}
});
}
@ 64, @ 32, @ 16 등을 시도했습니다. 접두사로 "_"을 추가하려고 시도했습니다. 나는 또한 ".dll"을 사용하여 절대 경로를 시도했지만없이 상대 경로를 동일하게 시도했습니다. (하지만 로딩이 문제가되지 않습니다)
나는 약간의 업데이 트를 시도하고 지금은이 오류를 반환Exception in thread "main" java.lang.UnsatisfiedLinkError:
Main.Main.DeleteCustomObjectRecord(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava
/lang/String;[I)Z
at Main.Main.DeleteCustomObjectRecord(Native Method)
at Main.Main.main(Main.java:15)
아니요 /. –
C/C++ dll을 사용하고 있습니까? – ortis
C# 아마 어쩌면 당신 말이 맞아요, 그걸 어떻게 할 수 있니? 감사. –