2015-05-19 3 views
3

У меня есть проект в QT + Opencv, код работал, но мне пришлось отформатировать окна и теперь Я пытаюсь снова импортировать проект, и эта ошибка появилась.Opencv, undefined ссылка на `cv :: imread (?? cv :: String const & ???, int) '

неопределенная ссылка на `сорте :: imread (резюме :: Струнный сопзЬ &, Int)» в этой строке:

mat = cv::imread(path); 

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

QString caminho = QFileDialog::getOpenFileName(this, tr("Open File"), 
             "", 
             tr("Images (*.png *.tiff)")); 

std::string path = caminho.toStdString(); 
mat = cv::imread(path); 

I пробовал другие строки вроде кодов типа «image.png» и не работал.

Использование OpenCV3, QT5.4, MinGW, Windows8.1

жаль мой английский

+3

выглядит так, будто вы не связали LibC OpenCV эффективно. – GPPK

ответ

1

Два примечания:

  1. cv::imread работы с «С'-как строки char *. Эта строка похожа на то, что вы сообщаете openCV, чтобы открыть файл с именем «путь». Вы должны изменить его на это: mat = cv::imread(path.c_str()) и это хорошо!

  2. undefined reference - это когда компилятор не нашел реализацию этой функции (m.s. просто разместил ссылку об этом). GCC (MinGW) пытается посмотреть, где находится функция «imread». Поскольку вы отформатировали свою систему, вам, вероятно, нужно сбросить переменную среды «PATH» или другой путь конфигурации. Я рекомендую это чтение: http://www.cs.swarthmore.edu/~newhall/unixhelp/howto_C_libraries.html, это объясняет, почему вам нужно это делать.

Надеюсь, это поможет!

+0

также в настоящее время LoC в вопросе на самом деле 'imread (" path ")', который даже не использует переменную пути, установленную в строке раньше. – GPPK

+0

Я написал неправильно, на самом деле это 'imread (path)'; без кавычек. И я пытался «path.c_str()» и не работал. Странный компилятор показывает cv :: String, хотя используется 'std :: String' – vinicius

+0

Неплохо, это реализация на C++, которая действительно использует строку. Я использовал Linux, когда делал классы openCV, но этот учебник кажется полезным для вашего случая: https://zahidhasan.wordpress.com/2014/08/19/qt-5-3-1-64-bit-mingw- окна / – chaws

Смежные вопросы