JNAを介してJavaからアクセスできるdllを生成しようとしています。
簡単なものを試してみます:
CPP:
void Initialize()
{
std::cout<< "Hello World!";
}
iostreamも含まれており、コンパイルすると次のようになります:CreateDll.dll
Visual Studioを介して、*。dllを生成できるようになりました。
これを次のようにJavaにロードしてみます。
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関数を実行すると、エラーが発生します。
java.lang.UnsatisfiedLinkError:
Error looking up function 'Initialize':
The specified procedure could not be found.
私は何が欠けていますか?
PS:たくさんのトピックがあることは知っていますが、もう1日試してみても、解決策が見つかりませんでした。私を助けてください。