OpenCV на Ubuntu 11.10 - PullRequest
       28

OpenCV на Ubuntu 11.10

3 голосов
/ 16 октября 2011

Я только что обновил свою систему с Ubuntu 11.04 до 11.10, и теперь я не могу больше компилировать любую C-программу, которая содержит ссылки на библиотеки OpenCV

Я уже пытался переустановить OpenCV (я использую 2.1 версию ), но я застрял с этой ошибкой:

/tmp/ccArHTZL.o: In function `main':
z.c:(.text+0x59): undefined reference to `cvLoadImage'
z.c:(.text+0xa0): undefined reference to `cvNamedWindow'
z.c:(.text+0xb1): undefined reference to `cvShowImage'
z.c:(.text+0xbb): undefined reference to `cvWaitKey'
z.c:(.text+0xc5): undefined reference to `cvDestroyWindow'
z.c:(.text+0xd1): undefined reference to `cvReleaseImage'
collect2: ld returned 1 exit status

Чтобы установить OpenCV, я всегда следовал этой процедуре:

$ sudo apt-get install libcv2.1 libcv-dev libcvaux2.1 libcvaux-dev libhighgui2.1
     libhighgui-dev opencv-doc python-opencv

$ export LD_LIBRARY_PATH=/home/opencv/lib
$ export PKG_CONFIG_PATH=/home/opencv/lib/pkgconfig

$ pkg-config --cflags opencv
     -I/usr/include/opencv

$ pkg-config --libs opencv
     -lcxcore -lcv -lhighgui -lcvaux -lml

$ g++ -I/usr/include/opencv -lcxcore -lhighgui -lm hello.c

Кто-нибудь может мне помочь?

Ответы [ 5 ]

6 голосов
/ 17 октября 2011

Почему бы вам не использовать pkg-config в свою пользу?

g++ hello.c -o hello `pkg-config --cflags --libs opencv` 
2 голосов
/ 17 октября 2011

Я думаю, это из-за некоторых изменений с gcc 4.5 на gcc 4.6

Попробуйте эту команду вместо этого (т.е. переместите библиотеки в конец, а не в начало вашей командной строки) - она ​​работает для меня:

g ++ -I / usr / include / opencv hello.c -lcxcore -lhighgui -lm

0 голосов
/ 05 декабря 2011

Используйте следующую команду, у меня это сработало:

gcc pkg-config --cflags opencv opencv.c -o open_cv pkg-config --libs opencv

0 голосов
/ 16 октября 2011

Я только что обновился до 11.04 на своем ноутбуке и у меня возникли похожие проблемы. Я попытался бы собрать последнюю версию OpenCV (2.3.1) и посмотреть, исправляет ли это что-нибудь, это, кажется, решает довольно много проблем для меня.

0 голосов
/ 16 октября 2011

Я все еще на kubuntu 10.10, поэтому я не очень хорошо знаю, как работает 11.10, но наиболее распространенный ответ на проблемы с отсутствием поиска библиотек - это использовать ldconfig с sudo .Это обновит базу данных библиотек.Если это не поможет, посмотрите / usr / lib , / usr / lib64 и / usr / lib32 , потому что это место по умолчанию, где apt-get throws library in. Когда вы найдете библиотеки, измените LD_LIBRARY_PATH , чтобы он содержал каталог.Я не думаю, что / home / opencv / lib находится там, где они есть, но я не знаю, какое у вас окружение

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