Установлены два OpenCV (с разными версиями), и я не могу удалить все следы предыдущего

Я новичок в системах Linux, но мне действительно нужно это для моего проекта, поэтому мне очень нужна ваша помощь.

Вот что случилось: у меня был OpenCV 2.4 в системе Linux, и я также установил другую библиотеку под названием libv4l. По какой-то причине после этой установки cmake не смог найти OpenCv. Поэтому на этот раз я установил OpenCV 3.0, надеясь, что это проблема совместимости или что-то в этом роде.

Однако OpenCV 2.4 был установлен по умолчанию в / usr / lib (я использовал cmake, make, make install), а OpenCV 3.0 был установлен в / usr / local / lib.

Теперь, когда я пытаюсь сделать это, я получаю это предупреждение:

Cannot generate a safe runtime search path for target <projectname>
because files in some directories may conflict with libraries in
implicit directories:
...list of files that exist both in usr/lib and usr/local/lib

и когда я игнорирую предупреждение и продолжаю делать make, я получаю следующую ошибку:

No rule to make target <an opencv file>

мой CMakeLists выглядит следующим образом:

cmake_minimum_required (version 2.8)
project(camera_test)

find_package(OpenCV 3.0.0) #also tried without 3.0.0
set(CMAKE_MODULE_PATH "usr/local/lib/cmake/${CMAKE_MODULE_PATH}")
find_package(raspicam REQUIRED)
target_link_libraries (camera_test ${raspicam_LIBS})
target_link_libraries (camera_test ${opencv_LIBS})

Я думаю, что моя проблема такая же со следующими страницами:

Удаление всех установленных библиотек OpenCV

http://answers.opencv.org/question/52921/how-to-uninstall-opencv249-completely-in-ubuntu-1404/

Однако вот последний улов:

Я сделал «деинсталлировать» для openCV 3.0, затем использовал

sudo find / -name "*opencv*" -exec rm {} \;

и переустановил openCV 3.0

но это не решило мою проблему. Он все еще думает, что в usr / lib есть файлы, хотя я больше не могу найти там никаких файлов.

Пожалуйста, предложите мне решение, и я был бы очень признателен, если бы вы могли кратко рассказать мне логику этой вещи. Я имею в виду, как он узнал, что в usr / lib был установлен opencv, какой след я оставил? Какие важные файлы / команды мне нужно искать / выполнять в таких случаях.

Большое спасибо, я очень ценю вашу помощь.

Изменить: Вот полный файл CMakeLists:

cmake_minimum_required (VERSION 2.8)
project (raspicam_test)

find_package(OpenCV 3.0.0)
set(CMAKE_MODULE_PATH “/usr/local/lib/cmake/${CMAKE_MODULE_PATH}”)
find_package(raspicam REQUIRED)

IF ( OpenCV_FOUND AND raspicam_CV_FOUND )
MESSAGE(STATUS “COMPILING OPENCV TESTS”)
add_executable (simpletest_raspicam_cv simpletest_raspicam_cv.cpp)
target_link_libraries (simpletest_raspicam_cv ${raspicam_CV_LIBS} )
target_link_libraries (simpletest_raspicam_cv ${OpenCV_LIBS})
ELSE()
MESSAGE(FATAL_ERROR “OPENCV NOT FOUND IN YOUR SYSTEM”)
ENDIF()

1

Решение

Возможная причина:

sudo find / -name "*opencv*" -exec rm {} \;

не будет удалять каталоги. Но есть несколько файлов cmake в

/usr/share/opencv

который поэтому не будет удален, содержащий устаревшую информацию о вашей предыдущей установке OpenCV.

Можете ли вы проверить, существуют ли эти файлы в вашей файловой системе?

0

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

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

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