Сборка OpenCV для Java на Windows x64 с Cmake - PullRequest
0 голосов
/ 29 апреля 2020

Я собираю OpenCV 420 для Java на Windows, используя cmake, включая дополнительные (дополнительные) модули. Я успешно выполняю процессы cmake для генерации проекта VS 2017. Проект VS, установленный для цели x86, компилирует и генерирует opencv-420.jar и opencv_420.dll. Размер opencv_420.dll составляет 37158 КБ. Он содержит все зависимые библиотеки (dll), созданные процессом компиляции. Эта пара jar и dll корректно работает с двумя файлами, предоставляя полный доступ от Java ко всем функциям opencv, включая добавленные. Это показывает, что зависимые от вариаций dll объединяются в единую библиотеку opencv_420.dll.

Затем я создал папку для цели x64, скопировал папку x86, которую использовал для вышеуказанного проекта x86, и установил платформу x64 , Я успешно запускаю cmake, генерирую проект VS, и, насколько я могу судить, он успешно компилируется (многое еще не до конца понятно). Это создает x64 opencv-420.jar и opencv_420.dll, как и ожидалось. Тем не менее, opencv_420.dll имеет небольшой размер в 2621 КБ, и при попытке запустить приложение не удается найти зависимые библиотеки. Я определил, что эта DLL не содержит зависимых библиотек, как в x86 DLL.

Я изучил файлы cmake и проект VS и, похоже, не могу найти разницу между проектами x86 и x64, которая приводит к тому, что зависимые библиотеки не объединяются с opencv_420.dll.

1 Ответ

0 голосов
/ 29 апреля 2020

Я ответил на это сам. Разговор о том, чтобы не видеть лес за деревьями! Была разница между вариантами x86 и x64 cmake, которую я просто не видел, пока какое-то чтение, которое я делал сегодня, не вызвало момент ага. Мне нужно было включить опцию Java Fat Jar в конфигурации x64, как это было в конфигурации x86. Все хорошо сейчас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...