Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Qt, opencv, undefined reference to 'cvCreateCameraCapture' [vyřešeno]  (Přečteno 4701 krát)

sakren

  • Návštěvník
  • Příspěvků: 16
    • Sakren web
Zdravím, chtěl jsem vyzkoušet knihovnu opencv pro práci s webkamerou, ovšem při kompilaci se ukazuje chyba "undefined reference to 'cvCreateCameraCapture'". Velmi děkuji za případné odpovědi.
Kód: [Vybrat]
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <opencv/cv.h>
#include <opencv/highgui.h>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    connect( ui->pushButton, SIGNAL( clicked() ), this, SLOT( click()) );
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::click() {
    CvCapture * cap = cvCaptureFromCAM( 0 );  /* ZDE JE CHYBA */
}
« Poslední změna: 21 Prosince 2010, 22:41:36 od Martin - ViPEr*CZ* »

Martin - ViPEr*CZ*

  • Závislák
  • ***
  • Příspěvků: 3047
Re: Qt, opencv, undefined reference to 'cvCreateCameraCapture'
« Odpověď #1 kdy: 20 Prosince 2010, 21:40:02 »
Chyba znamená to, že kompilátor nezná tu funkci cvCreateCameraCapture. Takže je někde chyba v linkování hlavičkového souboru, který obsahuje definici této funkce ;)
Open source is gold way... Mint 17.2, Debian 8.1 Jessie| Ubuntu Wiki (návody) | Google vyhledávač | Qt4 návody

Martin - ViPEr*CZ*

  • Závislák
  • ***
  • Příspěvků: 3047
Re: Qt, opencv, undefined reference to 'cvCreateCameraCapture'
« Odpověď #2 kdy: 21 Prosince 2010, 11:40:05 »
PS: no a jelikož jsem po dlouhé době něco kompiloval... tak kompilátor je tak trochu hloupej a vyhazuje tuhle chybu... ale u Vás si myslím, že půjde o nedolinkování knihovny přímo kompilátoru... což samotné include v hlavičkovém souboru nezajistí a je třeba kompilovat s příznakem -lopencv. Jelikož asi používáte IDE QT Creator, tak je potřeba někde v konfiguraci projketu přidat, aby linkoval tuto knihovnu... zkuste hledat... z hlavy nevím přesně cestu a nemám možnost momentálně zjistit.

viz. více o kompilaci: http://opencv.willowgarage.com/wiki/CompileOpenCVUsingLinux
Open source is gold way... Mint 17.2, Debian 8.1 Jessie| Ubuntu Wiki (návody) | Google vyhledávač | Qt4 návody

sakren

  • Návštěvník
  • Příspěvků: 16
    • Sakren web
Re: Qt, opencv, undefined reference to 'cvCreateCameraCapture'
« Odpověď #3 kdy: 21 Prosince 2010, 22:20:53 »
Ano bylo to tak. Stačilo přidat do .pro souboru mého projektu toto:
Kód: [Vybrat]
INCLUDEPATH += /usr/local/include/opencv/

LIBS += /usr/local/lib/libopencv_highgui.so \
    /usr/local/lib/libopencv_core.so
a již vše funguje. Mockrát děkuji

 

Provoz zaštiťuje spolek OpenAlt.