Проблема связывания OpenCV LDFlags - PullRequest
0 голосов
/ 19 марта 2012

Я компилирую программу со следующими флагами и получаю ошибки (запускаю 64-битную ОС):

g++ -lm -lml -lcvaux -lhighgui -lcv -lcxcore main.o BRIEF.o -o BRIEF_demo

Я получаю кучу неопределенных ссылок:

main.cpp:(.text+0x1f6): undefined reference to `cvInitMatHeader'

main.cpp :(. text + 0x218): неопределенная ссылка на cvInitMatHeader' main.o: In function _Z14drawQuadrangleP9_IplImageiiiiiiii8CvScalari.constprop.77 ': main.cpp :(. text + 0x2d5): неопределенная ссылка на cvLine' main.cpp:(.text+0x333): undefined reference to cvLine' main.cpp :(. text + 0x39): неопределенная ссылка на cvLine' main.cpp:(.text+0x3f2): undefined reference to cvLine '

У кого-нибудь есть идеи, как это обойти?

1 Ответ

1 голос
/ 19 марта 2012

Полагаю, вы используете новейшую версию OpenCV 2.3.x. cvInitMatHeader() и cvLine() фактически определены в libcxcore.so, и я вижу, что вы в том числе.

Я предполагаю, что порядок связывания неправильный, поэтому вам нужно настроить свою команду на что-то вроде:

g++ main.cpp BRIEF.cpp -o BRIEF_demo -lm -lml -lcvaux -lhighgui -lcv -lcxcore
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...