Помоги в JNI Ubuntu

Они могли бы помогать мне, составив для JNI в Ubuntu? То, что он перемещает, что, создав ".so", и составив называя необходимые книжные магазины, в моем случае (из-за версии Java, который я использую)...

gcc -shared -I/usr/lib/jvm/java-8-oracle/include/ -I/usr/lib/jvm/java-8-oracle/include/linux/ -o libHolaMundo.so HolaMundo.c -Wall

... у меня выходит ошибка, которой:

In file included from HolaMundo.c:3:0:

HolaMundo.h:2:17: фатальная ошибка: jni.h: Не such file or directory

#include

1
задан 01.05.2019, 22:51
1 ответ

Использовать JNI впервые может быть немного сложным, я рекомендую тебе использовать JNA. Из JNA ты ни можешь ни звонить в родной код без необходимости повторно составлять выполнимого это ни изменять.

Я даю тебе пример с JNA:

Код в C:

#include  //se usa la entrada por defecto stdio.h

void helloFromC() {
    printf("Hello from C!\n");
}

Чтобы составлять: gcc - или libctest.so-shared ctest.c

Чтобы использовать этот книжный магазин с Java:

import com.sun.jna.Library;
import com.sun.jna.Native;

public class HelloWorld {
    public interface CTest extends Library {
        public void helloFromC();
    }

    static public void main(String argv[]) {
        CTest ctest = (CTest) Native.loadLibrary("ctest", CTest.class);
        ctest.helloFromC();
    }
}

Больше информации:

Страница проекта JNA

JNA: Wikipedia

Относительно твоей проблемы: Составитель не смог находить файл заголовка jni.h, размести ее в папке заголовков и повторно составь.

0
ответ дан 03.12.2019, 19:15