salut tou le monde
j'ai un probléme avec capCreateCaptureWindow , je developpe avec dev-c++ il m'affiche cette erreur
[Linker error] undefined reference to `Z22capCreateCaptureWindowPKcmiiiiP6HWND(int)@32'
ld returned 1 exit status
merci d'avance
salut tou le monde
j'ai un probléme avec capCreateCaptureWindow , je developpe avec dev-c++ il m'affiche cette erreur
[Linker error] undefined reference to `Z22capCreateCaptureWindowPKcmiiiiP6HWND(int)@32'
ld returned 1 exit status
merci d'avance
Il faut se lier avec winmm.lib (ou libwinmm.a).
C'est vrai qu'il faut également vfw32.lib. Au fait, je n'ai pas remarqué un détail important dans ma première réponse : tu compiles en C++ et non en C (ce qui n'est en aucune manière un problème) et tu n'as pas déclaré la fonction capCreateCaptureWindow. Es-tu sûr d'avoir inclus les headers nécessaires (mmsystem.h et/ou vfw.h si je me souviens bien) ? Si oui, poste un exemple simple de code complet si tu peux.
#include <windows.h>
#include<Vfw.h>
#include<mmsystem.h>
LRESULT CALLBACK WndProc (HWND hWnd, UINT message,
WPARAM wParam, LPARAM lParam);
int WINAPI WinMain (HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int iCmdShow)
{
WNDCLASS principale;
HWND hWnd,capvideo;
HDC hDC;
HGLRC hRC;
MSG msg;
BOOL bQuit = FALSE;
principale.style = CS_OWNDC;
principale.lpfnWndProc = WndProc;
principale.cbClsExtra = 0;
principale.cbWndExtra = 0;
principale.hInstance = hInstance;
principale.hIcon = LoadIcon (NULL, IDI_APPLICATION);
principale.hCursor = LoadCursor (NULL, IDC_ARROW);
principale.hbrBackground = (HBRUSH) GetStockObject (BLACK_BRUSH);
principale.lpszMenuName = NULL;
principale.lpszClassName = "classe1";
RegisterClass (&principale);
hWnd = CreateWindow (
"classe1", "fenetre 1",
WS_CAPTION | WS_POPUPWINDOW | WS_VISIBLE,
0, 0, 256, 256,
NULL, NULL, hInstance, NULL);
// crée la fen pour la caméra
capvideo = capCreateCaptureWindow(NULL,WS_CHILD|WS_VISIBLE,0,0,256,256,hWnd,1) ;
// connexion avec la caméra
if(!capDriverConnect(capvideo,0 ))
{
Application->MessageBox("Connexion avec périphérique \nd'entrée vidéo impossible!!","Device Error",MB_OK) ;
}
// Autorisation de l'adaptation du zoom pour modifér le format d'affichage
capPreviewScale(capvideo,TRUE) ;
// reglage de la frequence de rafraichissement
capPreviewRate(capvideo,33) ;
// activation de l'affichage continue
capPreview(capvideo,1) ;
while (!bQuit)
{
if (PeekMessage (&msg, NULL, 0, 0, PM_REMOVE))
{
if (msg.message == WM_QUIT)
{
bQuit = TRUE;
}
else
{
TranslateMessage (&msg);
DispatchMessage (&msg);
}
}
}
DestroyWindow (hWnd);
return msg.wParam;
}
LRESULT CALLBACK WndProc (HWND hWnd, UINT message,
WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_CREATE:
return 0;
case WM_CLOSE:
PostQuitMessage (0);
return 0;
case WM_DESTROY:
return 0;
case WM_KEYDOWN:
switch (wParam)
{
case VK_ESCAPE:
PostQuitMessage(0);
return 0;
}
return 0;
default:
return DefWindowProc (hWnd, message, wParam, lParam);
}
}
le probléme est tjr le méme ,,quand je compile ce code avec dev-c++ , il faut déclarer les signatures des fonction de vfw , parceque elle sont pas declarer au vfw.h je ne sais pas pourquoi ,, et avec visual c++ j télécgarger la sdk mais appramenet c pas la bonne je croi c pour windows 7 !!!
re Melem , vu que tu métrise le c++ , j'ai des question a te posé , j'ai un travail a faire sur le théme de guidage de robot par réalité augmenté , donc je doit connecter c++ avec deux camera et faire des capture ecrans pour ke je puisse manipuler les photo et puis je fait la sterioscopie apres je ferai l'asservisement visual et l'implémenter dans le robot pour lui permetre de déplacer d'une facon autonome , estceque l'utilisation d'opencv intéressante , ( temps de calcul , code optimisé , est ce que je peux travailler avec opengl dans un programme opencv pour faire de la réalité augmenté ??) si c'est non j'utilise quoi comme bibliothèque pour le traitement d'image ??? si tu as des commentaire pour le sujet ou son implémentation n'hésite pas a me dire ,,,,,,, merci infiniment !!!!!!
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager