Грешка при инсталиране на OpenCV на mac

Затруднявам се да инсталирам OpenCV на mac(OS X 10.8.4) и xcode 4.6.3.

Опитах Macports и Homebrew за същото и не успях и дори не бях близо никъде, за да го стартирам. Грешката обикновено е „Грешка: Неуспешно инсталиране на bzip2“ или „Грешка: Неуспешна обработка на порт opencv“. Аз съм зад прокси и това може да е проблем.

Най-лесният и най-близък метод до завършване беше: Използване на Cmake и след това OpenCV за инсталиране чрез терминал. След това използвайте xcode, както е показано на http://sadeepj.blogspot.in/2012/03/installing-and-configuring-opencv-to.html, но проблемът е възникнал при изграждането на проект в xcode Зададох стойността на Header Search Paths на /usr/local/include и дори добавих тези 2 файла 'libopencv_core.2.4.5.dylib & libopencv_highgui.2.4.5.dylib' за проектиране.

Main.cpp файл

   #include <iostream>
   #include <opencv2/opencv.hpp>

   using namespace std;
   using namespace cv;

   int main (int argc, const char * argv[])
   {
       Mat img = imread("/Users/mhtgwl/Desktop/baba.jpg"); //Change the image path here.
       if (img.data == 0) {
           cerr << "Image not found!" << endl;
           return -1;
       }
       namedWindow("image", CV_WINDOW_AUTOSIZE);
       imshow("image", img);
       waitKey();
   }

Грешката е „ld: библиотеката не е намерена за -lopencv_core.2.4.5 clang: грешка: командата за свързване е неуспешна с изходен код 1 (използвайте -v, за да видите извикването)“ и аз се опитах да променя целевата версия на OS и да променя пътя за търсене на библиотека на /usr/local/include, но не помага.


person mohit    schedule 10.07.2013    source източник
comment
@Totoro Съжалявам, беше „libopencv_core.2.4.5.dylib & libopencv_highgui.2.4.5.dylib“. И проверих дали е инсталиран в /usr/local/lib   -  person mohit    schedule 11.07.2013


Отговори (3)


Ако използвате настройките по подразбиране, opencv файловете ще бъдат в /usr/local/lib и /usr/local/include, не трябва да има съмнение за това.

За настройки на Xcode използвам:

  1. създаване на проект за инструмент за команден ред.
  2. добавете код, както направихте.
  3. добавете lib файлове, щракнете с десния бутон върху името на вашия проект, изберете "Добавяне на файлове към..", когато се появи новият диалогов прозорец, натиснете клавиша "/", след това въведете "/usr/local/lib", изберете dylib файлове, както ви е необходимо ( Избирам всички за простота).
  4. add lib: щракнете двукратно върху името на вашия проект за настройки на проекта, в „Настройки за изграждане“, добавете „/usr/local/lib“ (рекурсивно) за „Пътища за търсене на библиотека“.
  5. добавете заглавка: добавете „/usr/local/include“ (нерекурсивно) за „Пътища за търсене на заглавки“
  6. също в раздела „Настройки на компилация“, филтрирайте по „c++ стандартна библиотека“ и задайте този параметър на libstdc++ (стандартна библиотека на GNU C++).

Ако следвате всички тези стъпки внимателно, сигурен съм, че вашият код ще се изпълнява.

person PaulYang    schedule 11.07.2013
comment
Както казахте, кодът се изпълни. Но показа грешка-dyld: Библиотеката не е заредена: cv2.so Посочено от: /Users/mhtgwl/Library/Developer/Xcode/DerivedData/test-feqvdmafymucqibnfkvbscgmyjip/Build/Products/Debug/test Причина: изображението не е намерено (lldb) . Ако можете да ми помогнете и с това, ще съм много благодарен. - person mohit; 11.07.2013
comment
Редовно пиша и изпълнявам код с настройки, подобни на тези, дадени в този отговор, и нямам грешка. Просто се чудя защо грешката споменава cv2.so - статична библиотека - когато файловете dylib вече са добавени. - person Totoro; 12.07.2013

Докато сте добавили 'libopencv_core.2.3.1.dylib & libopencv_highgui.2.3.1.dylib' към проекта, линкерът търси -lopencv_core.2.4.5 (libopencv_core.2.4.5.dylib и т.н. и т.н.) . Вашият компютър може да има по-стара версия на Opencv, инсталирана в /usr/local/lib. Опитайте да потърсите версия 2.4.5 и да добавите тези файлове към проекта.

За OS X 10.8 библиотечните файлове може да се инсталират в /opt/local/lib вместо /usr/local/lib. Това зависи от избрания от вас метод на инсталиране.

person Totoro    schedule 11.07.2013
comment
Съжаляваме, беше „libopencv_core.2.4.5.dylib & libopencv_highgui.2.4.5.dylib“. И проверих дали е инсталиран в /usr/local/lib - person mohit; 11.07.2013

Имах същия проблем по-рано. Това, което трябва да направите, е да не включвате двете директории "pkgconfig" и "python2.7", когато добавяте файловете dylib към проекта. Изглежда, че cv2.so е файл в директорията на python2.7.

person Kevin    schedule 08.04.2014