Получения этого исключения при создании Java обертки для C SDL библиотеки:Не может понять это UnsatisfiedLinkError
Exception in thread "main" java.lang.UnsatisfiedLinkError: com.sdl4j.renderer.SDL_Renderer.SDL_CreateRenderer(Lcom/sdl4j/window/SDL_Window;II)Lcom/sdl4j/renderer/SDL_Renderer;
Java Caller (первый метод завершает отлично и выглядит 100% похожи на обоих Java/C++ стороны):
функцияSDL_Window win = SDL_CreateWindow("Hello World!", 0, 0, 1024, 768, SDL_WindowFlags.SDL_WINDOW_SHOWN);
SDL_Renderer ren = SDL_CreateRenderer(win, -1, SDL_RendererFlags.SDL_RENDERER_ACCELERATED | SDL_RendererFlags.SDL_RENDERER_PRESENTVSYNC);
Native Java: заголовок
public static native SDL_Renderer SDL_CreateRenderer(SDL_Window window, int index, int flags);
C:
* Class: com_sdl4j_renderer_SDL_Renderer
* Method: SDL_CreateRenderer
* Signature: (Lcom/sdl4j/window/SDL_Window;II)Lcom/sdl4j/renderer/SDL_Renderer;
*/
JNIEXPORT jobject JNICALL Java_com_sdl4j_renderer_SDL_1Renderer_SDL_1CreateRenderer
(JNIEnv *, jclass, jobject, jint, jint);
C++ реализация:
JNIEXPORT jobject JNICALL Java_com_sdl4j_renderer_SDL_1Renderer_SDL_1CreateRenderer(JNIEnv *env, jclass , jobject win, jint index, jint flags) {
cout << "Create renderer: " << endl;
}
Не могу понять, почему он не работает, пожалуйста, вы можете помочь.
Приветствия
У вас есть перегрузка для метода SDL_CreateRenderer? –
Просто искал базу кода, нет, только 1 определение. –
Вы сгенерировали этот материал с помощью 'javah'? Если нет, сделайте это и соответствующим образом скорректируйте код C. – EJP