Bonjour tout le monde,
je rencontre actuellement un petit problème avec la méthode cvCreateButton.
Pour commencer, dans la doc ici, on a :
Prototype :
cvCreateButton(const char* button_name CV_DEFAULT(NULL), CvButtonCallback on_change CV_DEFAULT(NULL), void* userdata CV_DEFAULT(NULL), int button_type CV_DEFAULT(CV_PUSH_BUTTON), int initial_button_state CV_DEFAULT(0))
CV_EXTERN_C_FUNCPTR( *CvButtonCallback)(int state, void* userdata));
Exemples :
1 2
| cvCreateButton("button5",callbackButton1,NULL,CV_RADIOBOX);
cvCreateButton("button6",callbackButton2,NULL,CV_PUSH_BUTTON,1); |
-------------------------------
Quant à mon exemple, j'ai donc :
cvCreateButton("btn_findMarker", findOneMarker, NULL, CV_PUSH_BUTTON, 0);
avec :
1 2 3
| void findOneMarker(int state, void* userdata)
{
} |
et le joli message d'erreur :
error LNK1120: 1 externes non résolus
error LNK2019: symbole externe non résolu _cvCreateButton référencé dans la fonction _main ...\TestOpenCV.obj
Le problème se situe forcément avec "CV_EXTERN_C_FUNCPTR" mais je ne sais pas vraiment comment le manipuler. CV_EXTERN_C_FUNCPTR(findOneMarker) ?
Ce que je ne comprends pas aussi, c'est que à côté de ca, j'utilise cvCreateTrackbar sans problème de la façon suivante :
cvCreateTrackbar("trackbar1", windowName, &minRatio, 6, update);
avec :
1 2 3
| static void update(int pos)
{...
} |
et là pas de soucis avec le CvTrackbarCallback. Comment ca se fait ?
Je vous remercie d'avance :-)
Partager