Возможный дубликат:
OpenCV: ошибка ссылки, не удается разрешить внешний символ _cvResize и _cvCvtColor
Что такое неопределенная ссылка / неразрешенная внешняя ошибка символа и как ее исправить?
Я перепробовал все учебники, доступные на их веб-сайте, и решения по stackoverflow, но до сих пор не могу найти решение.
Что я уже сделал:
1 — добавлена папка включения с заголовками.
2 — добавлена папка lib в дополнительные каталоги lib
3 — добавлены opencv_core243d.lib и opencv_highgui243d.lib для дополнительных зависимостей.
код, который я пытаюсь скомпилировать:
#include <stdio.h>
#include <cv.h>
#include <highgui.h>int main(int argc, char* argv[])
{
if (argc < 2)
{
printf("Usage: ./opencv_hello <file.png>\n");
return -1;
}
IplImage* img = cvLoadImage(argv[1], CV_LOAD_IMAGE_UNCHANGED);
if (!img)
{
return -1;
}
cvNamedWindow("display", CV_WINDOW_AUTOSIZE);
cvShowImage("display", img );
cvWaitKey(0);
return 0;
}
Компоновщик выдает ошибки, касающиеся неразрешенных символов, таких как cvLoadImage, cvWaitKey и т. Д.
Единственное, о чем я могу думать, это о библиотеках, но я их уже включил.
Как я понимаю, вы используете OpenCV 2.4
В этом случае я хотел бы предложить использовать интерфейс C ++.
#include <stdio.h>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
int main(int argc, char* argv[])
{
if (argc < 2)
{
printf("Usage: ./opencv_hello <file.png>\n");
return -1;
}
cv::Mat img = imread(argv[1]);
if (img.empty())
{
return -1;
}
imshow("display", img);
waitKey(0); <---- cvWaitKey() is a C interface functio, waitKey() - C++
return 0;
}
Других решений пока нет …