Opencv java kembiedlinkerror в Intellij с необразными модулями после компиляции из источникаJAVA

Программисты JAVA общаются здесь
Anonymous
Opencv java kembiedlinkerror в Intellij с необразными модулями после компиляции из источника

Сообщение Anonymous »

Я пытаюсь использовать необразные функциональные возможности OpenCV (например, SIFT /Surf) в Java, компилируя из источника, но я сталкиваюсь с ошибкой загрузки DLL в IntelliJ. < /p>
Вот моя настройка: < /p>
Использование Windows 11 24H2 < /p>
Compiltation. 4.12.0
Cmake Configurations (я думаю, наиболее импорт):

Код: Выделить всё

BUILD_SHARED_LIBS = ON
BUILD_JAVA = ON
BUILD_opencv_world = OFF
BUILD_opencv_java = ON
OPENCV_ENABLE_NONFREE = ON
OPENCV_EXTRA_MODULES_PATH = C:/opencv-build/opencv_contrib/modules
Компилятор: Visual Studio 2022 (режим выпуска, x64)
Сгенерированные файлы:
**- opencv_java4120.dll (в Build/Lib/Release)

/> Некоторые другие .dll для дополнительных модулей и некоторых двоичных файлов ** < /li>
< /ul>
Компиляция завершается нормально, у меня не было никаких ошибок < /p>
Я установил версию OpenCV в pom.xml (я использую maven) < /p>


org.opencv
opencv
4.12.0
system
${project.basedir}/lib/opencv-4120.jar


< /code>
Я также добавил путь DLL к параметрам виртуальной машины IntelliJ < /p>
-Djava.library.path=.\src\main\resources
< /code>
Я попробовал с простым кодом < /p>
package com.analisis;

import org.opencv.core.*;
public class Main {

static{System.loadLibrary(Core.NATIVE_LIBRARY_NAME);}

public static void main(String[] args) {
System.out.println("opencv version: " + Core.VERSION);}
}
< /code>
Этот код работает, но когда я хочу импортировать изображение, используя модуль imgcodecs, я получаю это < /p>
Exception in thread "main" java.lang.UnsatisfiedLinkError:
C:\Users\jesus\IdeaProjects\analisis_img\src\main\resources\opencv_java4120.dll:
Error in a dynamic link library initialization routine. (DLL)
at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
...
< /code>
I проверил, что: < /p>
Версии JAR и DLL совпадают с одной и той же сборкой OpenCV).
Все необходимые DLL находятся в одном и том же каталоге. Проверьте?>

Подробнее здесь: https://stackoverflow.com/questions/795 ... r-compilin

Вернуться в «JAVA»