Undefined reference to `cvCaptureFromCAM'

Résolu/Fermé
sam - 25 juin 2008 à 11:15
 sam - 25 juin 2008 à 14:50
Bonjour à tous!

Après une journée passée à rechercher sur google et autre forum, je me décide à poster ici.
Je voudrais faire la capture d'image provenant de ma webcam en c++, et pour cela j'utilise OpenCV.

J'ai récupéré un code quelque part et quand je le compile j'obtiens une erreur

undefined reference to `cvCaptureFromCAM'

Alors ma question est d'où cela peut-il venir?
J'ai inclu le fichier highgui.h à la source, j'ai mis les library sur la ligne de commande.
Mais malgrès tout, le compilateur continue de bugger sur ça.

Je sais que ce doit être une erreur bête, mais la j'avoue que je ne vois plus ou regarder....
Est ce que vous auriez une idée?

Merci beaucoup d'avance
Sam

ps: voici le code:

#include <cstdlib>
#include <iostream>
#include <stdio.h>
#include <string.h>


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

#include <cvcam.h>

using namespace std;

int main(int argc, char **argv)
{
    CvCapture *capture =0;
    IplImage  *frame = 0;
    int       key = 0;

    /* initialize camera */
    capture = cvCaptureFromCAM(0);

    /* always check */
    if (!capture) {
        fprintf (stderr, "Cannot open initialize webcam!\n");
       return(1);
    }

    /* create a window for the video */
    cvNamedWindow("result", CV_WINDOW_AUTOSIZE);

    for (;;) {
        if (!cvGrabFrame(capture)) {
            break;
        }
       
        frame = cvRetrieveFrame(capture);

        /* always check */
        if (!frame) {
            break;
        }
       
        /* display current frame */
        cvShowImage("result", frame);

        /* exit if user press a key */
        if ((key = cvWaitKey(1)) > 0) {
            goto done;
        }
    }

done:
    /* free memory */
    cvDestroyWindow("result");
    cvReleaseCapture(&capture);

    return(0);
}


et voici l'appel du compilateur:

g++ -oTeste.exe MyTest.o -lcv -lcvaux -lcvcam -lcvhaartraining -lcxcore -lcxts -lhighgui -lml -ltrs
A voir également:

1 réponse

Ok c'est bon j'ai resolu le probleme...
Le probleme etait qu'il manquait d'autre header dans le dossier d'include
meme si il y avait highgui.h dans ce dossier, y'en avait encore d'autre qui manquait

a plus!
sam
0