JNA를 통해 Java에서 액세스 할 수있는 DLL을 생성하려고합니다.UnsatisfiedLinkError - C++ - DLL을 만드는 방법은 무엇입니까?
void Initialize()
{
std::cout<< "Hello World!";
}
iostream도 포함되어 있으며, 컴파일 한 후 내가 얻을 :
CPP :
난 그냥 간단하게 하나를 시도 CreateDll.dll
을 내가 지금 생성 할 수 있습니다 Visual Studio를 통해 * .dll. 내가 좋아하는 자바로로드하십시오
는 :public class mainRoutine {
public static void main(String[] args) {
NativeWrapper INSTANCE = (NativeWrapper) Native.loadLibrary("CreateDll" , NativeWrapper.class);
INSTANCE.Initialize();
}
static {
System.setProperty("jna.library.path", "C:\\workspace\\JNA");
}
}
또 다른 인터페이스가 :
수입 com.sun.jna.Library;
public interface NativeWrapper extends Library {
void Initialize();
}
그래서하지만 지금은 오류가 자바 기능을 실행
java.lang.UnsatisfiedLinkError:
Error looking up function 'Initialize':
The specified procedure could not be found.
나는 무엇을 놓치고?
추신 : 많은 주제가 있다는 것을 알고 있지만 이미 하루 동안 노력하면서 해결책을 찾지 못했습니다. 도와주세요.
을 나는 당신의 DLL이 필요한 기호를 수출하지 않는 같은데요. – Nick
내 보낸 함수 이름을 보려면 종속성 워커 (http://www.dependencywalker.com/)를 사용하십시오. – technomage
어쨌든 물건을 컴파일하려면 [JavaCPP] (http://code.google.com/p/javacpp/)가 JNA보다 사용하기가 더 쉽습니다 ... –