Bonjour,
je suis en train de travailler sur un projet en C ou je souhaite lire le flux video d'une camera sous windows.
J'ai donc cree un projet VS (avec CMake), et code une fonction de lecture video.
Je me trouve alors devant des erreurs de compilation abherente. En voici quelques exemples :
pour le code :
J'ai :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 HRESULT hr; ICreateDevEnum *pDevEnum =NULL; IEnumMoniker *pVideoInputEnum = NULL; hr = CoCreateInstance (CLSID_SystemDeviceEnum, NULL, CLSCTX_INPROC, IID_ICreateDevEnum, (void **) &pDevEnum); hr = pDevEnum->CreateClassEnumerator(CLSID_VideoInputDeviceCategory, &pVideoInputEnum, 0);
..\..\src\video_directshow.c(92) : error C2440: 'function' : cannot convert from 'const GUID' to 'const IID *const '
..\..\src\video_directshow.c(92) : warning C4024: 'CoCreateInstance' : different types for formal and actual parameter 1
..\..\src\video_directshow.c(93) : error C2440: 'function' : cannot convert from 'const IID' to 'const IID *const '
..\..\src\video_directshow.c(93) : warning C4024: 'CoCreateInstance' : different types for formal and actual parameter 4
Puis un peu plus loin :
..\..\src\video_directshow.c(99) : error C2039: 'CreateClassEnumerator' : is not a member of 'ICreateDevEnum'
Pourtant cette methode appartient bien a cette structure.
J'ai code mon code a partir d'exemples trouves sur internet et avec DXSDK.
J'ai rajoute mon code dans un projet directshow existant (dans les exemples livres avec les lib directx) et il compile.
J'ai essaye de regarder les differences dans les proprietes entre les 2 projets et je ne vois rien de significativement different.
Quelles sont les causes de ces erreurs de compilation ?
Si vous avez besoin d'autres informations, n'hesitez pas a demander
Merci
Partager