Я пытаюсь сделать простой пример JNI (родной интерфейс Java) в M2 Mac Pro. Но я продолжаю получать < /p>
Exception in thread "main" java.lang.UnsatisfiedLinkError: no hello in java.library.path:
< /code>
ниже приведены подробности < /p>
hello.java
import java.io.*;
class Hello {
public native void print_Hello();
// Load the native library
static {
System.loadLibrary("hello");
}
// Main Method
public static void main (String[] args) {
System.out.println("In this Program we will learn about Java Native");
// Create an instance of Hello and call the native method
Hello hello = new Hello();
hello.print_Hello();
}
}
< /code>
hello.h
/* DO NOT EDIT THIS FILE - it is machine generated */
#include
/* Header for class Hello */
#ifndef _Included_Hello
#define _Included_Hello
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: Hello
* Method: print_Hello
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_Hello_print_1Hello
(JNIEnv *, jobject);
#ifdef __cplusplus
}
#endif
#endif
< /code>
hello.cpp
// C Program to Use Print Hello World
#include
#include
#include "Hello.h"
// Implementation of the native method print_Hello()
JNIEXPORT void JNICALL Java_Hello_print_1Hello(JNIEnv *env, jobject obj) {
printf("Hello World!\n");
return;
}
< /code>
ниже была командой для генерации собственной библиотеки < /p>
gcc -shared -fpic -o libhello.dylib -I${JAVA_HOME}/include -I${JAVA_HOME}/include/darwin Hello.cpp
< /code>
он затрагивает библиотеку < /p>
libhello.dylib
< /code>
java Command, выполненная для запуска файла Java < /p>
java -Djava.library.path=~/work/active/java_native/mac_native/libhello.dylib Hello
< /code>
ниже вывод < /p>
Exception in thread "main" java.lang.UnsatisfiedLinkError: no hello in java.library.path: [~/work/active/java_native/mac_native/libhello.dylib]
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2678)
at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:830)
at java.base/java.lang.System.loadLibrary(System.java:1890)
at Hello.(Hello.java:11)
< /code>
Java и C Compilers Используются < /p>
g++ --version
Apple clang version 17.0.0 (clang-1700.0.13.3)
Target: arm64-apple-darwin24.4.0
Thread model: posix
< /code>
openjdk version "11.0.24" 2024-07-16
OpenJDK Runtime Environment Temurin-11.0.24+8 (build 11.0.24+8)
OpenJDK 64-Bit Server VM Temurin-11.0.24+8 (build 11.0.24+8, mixed mode)
< /code>
alternate version of java used that also did not work
java version "1.8.0_351"
Java(TM) SE Runtime Environment (build 1.8.0_351-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.351-b10, mixed mode)
Подробнее здесь: https://stackoverflow.com/questions/795 ... m2-mac-pro
Нативной интерфейс Java не работает в M2 Mac Pro ⇐ C++
Программы на C++. Форум разработчиков
-
Anonymous
1745996891
Anonymous
Я пытаюсь сделать простой пример JNI (родной интерфейс Java) в M2 Mac Pro. Но я продолжаю получать < /p>
Exception in thread "main" java.lang.UnsatisfiedLinkError: no hello in java.library.path:
< /code>
ниже приведены подробности < /p>
hello.java
import java.io.*;
class Hello {
public native void print_Hello();
// Load the native library
static {
System.loadLibrary("hello");
}
// Main Method
public static void main (String[] args) {
System.out.println("In this Program we will learn about Java Native");
// Create an instance of Hello and call the native method
Hello hello = new Hello();
hello.print_Hello();
}
}
< /code>
hello.h
/* DO NOT EDIT THIS FILE - it is machine generated */
#include
/* Header for class Hello */
#ifndef _Included_Hello
#define _Included_Hello
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: Hello
* Method: print_Hello
* Signature: ()V
*/
JNIEXPORT void JNICALL Java_Hello_print_1Hello
(JNIEnv *, jobject);
#ifdef __cplusplus
}
#endif
#endif
< /code>
hello.cpp
// C Program to Use Print Hello World
#include
#include
#include "Hello.h"
// Implementation of the native method print_Hello()
JNIEXPORT void JNICALL Java_Hello_print_1Hello(JNIEnv *env, jobject obj) {
printf("Hello World!\n");
return;
}
< /code>
ниже была командой для генерации собственной библиотеки < /p>
gcc -shared -fpic -o libhello.dylib -I${JAVA_HOME}/include -I${JAVA_HOME}/include/darwin Hello.cpp
< /code>
он затрагивает библиотеку < /p>
libhello.dylib
< /code>
java Command, выполненная для запуска файла Java < /p>
java -Djava.library.path=~/work/active/java_native/mac_native/libhello.dylib Hello
< /code>
ниже вывод < /p>
Exception in thread "main" java.lang.UnsatisfiedLinkError: no hello in java.library.path: [~/work/active/java_native/mac_native/libhello.dylib]
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2678)
at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:830)
at java.base/java.lang.System.loadLibrary(System.java:1890)
at Hello.(Hello.java:11)
< /code>
Java и C Compilers Используются < /p>
g++ --version
Apple clang version 17.0.0 (clang-1700.0.13.3)
Target: arm64-apple-darwin24.4.0
Thread model: posix
< /code>
openjdk version "11.0.24" 2024-07-16
OpenJDK Runtime Environment Temurin-11.0.24+8 (build 11.0.24+8)
OpenJDK 64-Bit Server VM Temurin-11.0.24+8 (build 11.0.24+8, mixed mode)
< /code>
alternate version of java used that also did not work
java version "1.8.0_351"
Java(TM) SE Runtime Environment (build 1.8.0_351-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.351-b10, mixed mode)
Подробнее здесь: [url]https://stackoverflow.com/questions/79599723/java-native-interface-not-working-in-m2-mac-pro[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия