python — ошибка компиляции OpenCV после использования anaconda для установки opencv

У меня opencv 3.1 (собранный из исходного кода) прекрасно работал в Ubuntu. Однако после того, как я установил python-версию opencv 3.2 из anaconda (conda install -c menpo opencv3 = 3.2.0), у меня появилось следующее предупреждение / ошибки:

/ usr / bin / ld: предупреждение: libjpeg.so.9, необходимо
//home/sss/anaconda3/lib/libtiff.so.5, не найден (попробуйте использовать -rpath или
-rpath-ссылка)

//home/sss/anaconda3/lib/libtiff.so.5: неопределенная ссылка на
‘Jpeg_finish_decompress@LIBJPEG_9.0’

//home/sss/anaconda3/lib/libtiff.so.5: неопределенная ссылка на
‘Jpeg_set_quality@LIBJPEG_9.0’

Вот мой файл cmake, за которым я следил в онлайн-источнике.

cmake_minimum_required(VERSION 2.8)
project( test )

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

find_package( OpenCV REQUIRED )

message(STATUS "OpenCV library status:")
message(STATUS "    version: ${OpenCV_VERSION}")
message(STATUS "    libraries: ${OpenCV_LIBS}")
message(STATUS "    include path: ${OpenCV_INCLUDE_DIRS}")
message(STATUS "    library path: ${OpenCV_LIB_DIR}")

include_directories( ${OpenCV_INCLUDE_DIRS} )

add_executable( testcv main.cpp )
target_link_libraries( testcv ${OpenCV_LIBS} )

— Состояние библиотеки OpenCV:

— версия: 3.1.0

— библиотеки:

opencv_xphoto; opencv_xobjdetect; opencv_ximgproc; opencv_xfeatures2d; opencv_tracking; opencv_text; opencv_surface_matching; opencv_structured_light; opencv_stereo; opencv_saliency; opencv_rgbd; opencv_reg; opencv_plot; opencv_optflow; opencv_line_descriptor; opencv_hdf; opencv_fuzzy; opencv_face; opencv_dpm; opencv_dnn; opencv_datasets; opencv_ccalib; opencv_bioinspired; opencv_bgsegm; opencv_aruco; opencv_videostab; opencv_videoio; opencv_video; opencv_superres; opencv_stitching; opencv_shape; opencv_photo; opencv_objdetect; opencv_ml; opencv_imgproc; opencv_imgcodecs; opencv_highgui; opencv_flann; opencv_features2d; opencv_core; opencv_calib3d

— путь включения: / usr / local / include / opencv; / usr / local / include

— Путь к библиотеке: / usr / local / share / OpenCV / 3rdparty / lib

— Конфигурирование сделано

— Генерация завершена

— Файлы сборки были записаны в: / home / sss / Project / OpenCV / Test01 / build

Все библиотеки opencv находятся внутри «/ usr / local / lib», и в папке «/ usr / local / share / OpenCV / 3rdparty / lib» есть только один файл «libippicv.a». И я попытался добавить SET (OpenCV_LIB_DIR «/ usr / local / lib»), ошибка компиляции остается.

мой main.cpp содержит только две строки opencv:

Mat image;
image = imread("lena.jpg",1);

и если я комментарий 2-я строка (imread), Сборка будет успешной.

Кажется, каким-то образом установка OpenCV внутри Anaconda внесла некоторые внешние изменения в системе, но что они? Как я могу вернуть свой opencv обратно на работу?

ОБНОВИТЬ

Я нашел временный способ, перенаправив ссылку:

export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu

Но что было изменено раньше? и как правильно сделать это в cmake?

ОБНОВИТЬ

Он перестает работать снова. Хотя я могу собрать его, после запуска программы он продолжает спрашивать ligjpeg.so.9.

«ошибка при загрузке общих библиотек: libjpeg.so.9: не удается открыть файл общего объекта: нет такого файла или каталога»

Как это решить?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]