Разве я не могу собрать другую версию opencv? - PullRequest
0 голосов
/ 01 апреля 2020

У меня версия opencv4.1, а у моего коллеги версия opencv4.3.
Оба используют Ubuntu и делают сборку на C ++.
Я создал общую библиотеку с opencv и передал ее ему.

  • CMakeLists.txt

    ..
    find_package (OpenCv REQUIRED)
    add_library ($ {ProjectId} main. cpp)
    target_link_libraries ($ { ProjectId} $ {OpenCV_LIBS})
    ..

Но он получил эту ошибку.

  • при компиляции

    / usr / bin / ld: предупреждение: libopencv_imgpro c .so.4.1, необходимое для lib / libmylib.so, не найдено (попробуйте использовать -rpath или -rpath-link)
    / usr / bin / ld: предупреждение: libopencv_core.so.4.1, необходимое для lib / libmylib.so, не найдено (попробуйте использовать -rpath или -rpath-link)

  • при время выполнения

    ошибка при загрузке общих библиотек: libopencv_imgpro c .so.4.1: невозможно открыть файл общего объекта: нет такого файла или каталога
    ошибка при загрузке общих библиотек: libopencv_core.so.4.1 : невозможно открыть общий объектный файл: нет такого файла или каталога

ldconfig зарегистрирован и также имеет файл openv.conf в ll /etc/ld.so.conf.d/
но когда лд config -p | grep imgpro c, нет никаких признаков libopencv_imgpro c .so.4.1.

Я видел ответ ниже. Кажется, что можно решить эту проблему, добавив символьную ссылку c.
Ошибка при создании примеров OpenCV на ubuntu

Я не знаю, почему другие библиотеки opencv все в порядке, и только у них двоих проблемы.
И если у каждого, кто пользуется моей библиотекой, разные версии, должны ли они добавлять символические c ссылки вроде этого?
Я никогда не использовал символические c ссылка, подобная этой, когда я использовал другой пример opencv.

...