OpenCV, проблема компиляции затмения - PullRequest
1 голос
/ 18 сентября 2010

У меня проблема с компиляцией, которую я не могу понять для OpenCV2.1 в c ++.

Вот простой тестовый код, который я пытаюсь скомпилировать:

#include <iostream>
#include "cv.h"

using namespace std;

int main() {
    cout << "Hello World" << endl; // prints !!!Hello World!!!
    cv::Mat mtx;
    return 0;
}

I Ошибка компиляции с неопределенной ссылкой:

**** Build of configuration Debug for project CJMVideo ****

**** Internal Builder is used for build               ****
g++ -IC:\OpenCV2.1\include\opencv -IC:\Program Files\Point Grey Research\FlyCapture2\include -O0 -g3 -Wall -c -fmessage-length=0 -osrc\CJMVideo.o ..\src\CJMVideo.cpp
g++ -LC:\OpenCV2.1\lib -LC:\Program Files\Point Grey Research\FlyCapture2\lib64 -Xlinker --enable-auto-import -oCJMVideo.exe src\CJMVideo.o -lcxcore210 -lcv210 -lhighgui210 -lml210 -lFlyCapture2
src\CJMVideo.o:C:/OpenCV2.1/include/opencv/cxmat.hpp:378: undefined reference to `cv::fastFree(void*)'
collect2: ld returned 1 exit status
Build error occurred, build is stopped
Time consumed: 1438  ms.

Ошибка C: /OpenCV2.1/include/opencv/cxmat.hpp: 378: неопределенная ссылка на `cv :: fastFree (void *) '

Мне кажется, я правильно скомпилировал все библиотекииз приведенной выше команды ... В чем проблема?

Спасибо

Ответы [ 2 ]

1 голос
/ 20 сентября 2010

У меня были проблемы с подключением cv :: fastfree, когда библиотека OpenCV была собрана с параллельной библиотекой Intel TBB, сборка без TBB работала

1 голос
/ 20 сентября 2010

Несмотря на то, что в сообщении говорится, что этот символ не обнаружен в библиотеках OpenCV, я должен указать, что из вставленной выше командной строки кажется, что вы пытаетесь связать свое приложение с 64-битными скомпилированными библиотеками, как указано-LC:\Program Files\Point Grey Research\FlyCapture2\lib64.Это означает, что вы должны также скомпилировать OpenCV, чтобы он был 64-битным, или скомпилировать оба, чтобы они были 32-битными.

Возможно, вам не хватает одной библиотеки.В Windows мои проекты OpenCV обычно добавляют cv210.lib cvaux210.lib cxcore210.lib cxts210.lib highgui210.lib, но большую часть времени я использую Visual Studio 2005.

...