Я написал крошечный класс Vala, скомпилировал его в код C, сгенерировал заголовок JNI и реализацию для вызова Vala/CCode.
Итак, в конце у меня есть два заголовка и два файла реализации, которые я компилирую с помощью gcc в библиотеку JNI. он отлично компилируется и приводит к библиотеке.
Когда я запускаю приложение Java, включая эту библиотеку, я получаю symbol lookup error
в библиотеке.
Самое интересное: undefined symbol: g_once_init_enter
- это не в моем коде, а в бойком коде, сгенерированном valac
.
Таким образом, код JNI C вызывает код Vala C, который вызывает вещи glib. Java, кажется, не находит бойкую часть.
Кто-нибудь знает, что здесь делать?