Символы, не найденные при создании Hello World в OpenCV - PullRequest
2 голосов
/ 09 октября 2011

Я только что установил openCV через MacPorts, Я также добавил папку библиотеки в настройки компилятора. Но затем при попытке построить следующий код,

#include <cv.h>
#include <highgui.h>

int main(int argc, char **argv) {

    cvNamedWindow("My Window", 1);
    IplImage *img = cvCreateImage(cvSize(640, 480), IPL_DEPTH_8U, 1);
    CvFont font;
    double hScale = 1.0;
    double vScale = 1.0;
    int lineWidth = 1;
    cvInitFont(&font, CV_FONT_HERSHEY_SIMPLEX | CV_FONT_ITALIC, hScale, vScale,
            0, lineWidth);
    cvPutText(img, "Hello World!", cvPoint(200, 400), &font,
            cvScalar(255, 255, 0));
    cvShowImage("My Window", img);
    cvWaitKey();

    return 0;
}

При сборке я получаю сообщение о том, что все символы не найдены.

Что я делаю не так?

**** Build of configuration Release for project OpenCv ****

make all 
Building file: ../main.cpp
Invoking: GCC C++ Compiler
g++ -I/opt/local/include/opencv -O3 -Wall -c -fmessage-length=0 -MMD -MP -MF"main.d" -MT"main.d" -o "main.o" "../main.cpp"
Finished building: ../main.cpp

Building target: OpenCv
Invoking: MacOS X C++ Linker
g++  -o "OpenCv"  ./main.o   
Undefined symbols:
  "_cvNamedWindow", referenced from:
      _main in main.o
  "_cvCreateImage", referenced from:
      _main in main.o
  "_cvShowImage", referenced from:
      _main in main.o
  "_cvPutText", referenced from:
      _main in main.o
  "_cvWaitKey", referenced from:
      _main in main.o
  "_cvInitFont", referenced from:
      _main in main.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [OpenCv] Error 1

**** Build Finished ****

1 Ответ

2 голосов
/ 09 октября 2011

Есть два отдельных шага для получения проекта OpenCV для компиляции и компоновки. Сначала добавляется путь поиска заголовка для компиляции, что вы уже сделали.

Вы также должны добавить библиотеки в проект для связи. Вот эта часть:

  • Выберите Project -> New Group и создайте группу под названием OpenCV frameworks
  • Выбрав новую группу, выберите Проект -> Добавить в проект…
  • Нажмите клавишу "/", чтобы получить приглашение Перейти в папку
  • Введите / usr / local / lib (/ opt / local / lib, если вы использовали MacPorts)
  • Выберите libopencv_core.dylib, libopencv_highgui.dylib и любые другие библиотеки, необходимые для вашего проекта.
  • Нажмите Добавить
  • Снимите флажок Копировать элементы ... и нажмите Добавить

Это из раздела Mac OS X OpenCV вики OpenCV.

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