2010-04-12 5 views
0

Bonjour, je souhaite superposer le bitmap sur la vidéo en direct. J'essaie de le faire avec l'échantillon DirectShow. J'ai édité l'exemple PlayCapMonker et ajouté quelques fonctions pour l'activer. Je l'ai fait avec la procédure expliquée en lien ci-dessousIncrustation bitmap sur la vidéo en direct

http://www.ureader.com/msg/1471251.aspx

Maintenant, je suis gettting erreurs

Erreur 2 Erreur C4430: Type manquant spécificateur - int supposé. Remarque: C++ ne prend pas en charge default-int
Erreur 3 Erreur C4430: spécificateur de type manquant - int supposé. Remarque: C++ ne prend pas en charge default-int
Erreur 5 Erreur C4430: spécificateur de type manquant - int supposé. Remarque: C++ ne prend pas en charge default-int
Erreur 6 Erreur C4430: spécificateur de type manquant - int supposé. Remarque: C++ ne prend pas en charge default-int
Erreur 8 Erreur C4430: spécificateur de type manquant - int supposé. Remarque: C++ ne prend pas en charge default-int
Erreur 9 Erreur C4430: spécificateur de type manquant - int supposé. Remarque: C++ ne prend pas en charge default-int
Erreur 21 Erreur C4430: spécificateur de type manquant - int supposé. Remarque: C++ ne prend pas en charge default-int
Erreur 22 Erreur C4430: spécificateur de type manquant - int supposé. Remarque: C++ ne prend pas en charge default-int
Erreur 26 Erreur C4430: spécificateur de type manquant - int supposé. Remarque: C++ ne prend pas en charge default-int
Erreur 27 Erreur C4430: spécificateur de type manquant - int supposé. Note: C++ ne supporte pas default-int Erreur 36 erreur C2228: left de '.m_alpha' doit avoir class/struct/union
Erreur 38 erreur C2227: left de '-> SetAlphaBitmap' doit pointer vers class/struct/union/type générique
Erreur 7 erreur C2146: erreur de syntaxe: manquant ';' avant l'identifiant 'Pool' Erreur 4 erreur C2146: erreur de syntaxe: manquant ';' avant l'identificateur 'Format' c: \ Program Files \ Microsoft Platform SDK \ include \ Vmr9.h 368 PlayCapMoniker Erreur 1 erreur C2143: erreur de syntaxe: manquant ';' avant ''
Erreur 20 erreur C2143: erreur de syntaxe: manquant ';' avant '
'
Erreur 25 erreur C2143: erreur de syntaxe: manquant ';' avant '*'
erreur 30 Erreur C2065: 'g_pMixerBitmap': identificateur non déclaré
erreur 33 Erreur C2065: 'g_pMixerBitmap': identificateur non déclaré
erreur 37 Erreur C2065: 'g_pMixerBitmap': identificateur non déclaré
d'erreur 31 Erreur C2065: 'g_hbm': identificateur non déclaré
erreur 32 erreur C2065: 'g_hbm': identificateur non déclaré
d'erreur 35 erreur C2065: 'config': identificateur non déclaré
erreur 10 erreur C2061: erreur de syntaxe: identificateur 'IDirect3DSurface9'
erreur 11 erreur C2061: erreur de syntaxe: identifiant 'IDirect3DSurface9'
erreur 12 Erreur C2061: erreur de syntaxe: identificateur 'IDirect3DSurface9'
erreur 13 Erreur C2061: erreur de syntaxe: identificateur 'IDirect3DSurface9'
erreur 16 Erreur C2061: erreur de syntaxe: identificateur 'IDirect3DSurface9'
erreur 19 Erreur C2061: syntaxe erreur: identificateur 'IDirect3DSurface9'
erreur 23 erreur C2061: erreur de syntaxe: identificateur 'IDirect3DSurface9'
erreur 24 erreur C2061: erreur de syntaxe: identificateur 'IDirect3DSurface9'
erreur 28 erreur C2061: erreur de syntaxe: identificateur 'IDirect3DSurface9'
Erreur 29 erreur C2061: erreur de syntaxe: identifiant ' IDirect3DSurface9'
erreur 14 Erreur C2061: erreur de syntaxe: identificateur 'IDirect3DDevice9'
erreur 15 Erreur C2061: erreur de syntaxe: identificateur 'IDirect3DDevice9' erreur 17 Erreur C2061: erreur de syntaxe: identificateur 'IDirect3DDevice9'
erreur 18 Erreur C2061: erreur de syntaxe: identificateur 'IDirect3DDevice9'
erreur 34 erreur C2039: 'PDDS': ne fait pas partie du SDK \ Samples '_VMR9AlphaBitmap' \ Multimedia \ DirectShow \ \ capture PlayCapMoniker \ PlayCapMoniker.cpp 263 PlayCapMoniker

Répondre

1

Ceci est un problème connu (ce qui signifie: google aurait été votre ami), impliquant un conflit entre différents fichiers d'en-tête (qedit.h, d3d9.h, vmr.h). Voir http://tmhare.mvps.org/faqs.htm#qed par exemple.

G

Contenu

à partir du site de tmhare: Vous avez probablement aussi dans votre liste d'inclusion de fichiers. Il s'agit d'un problème connu et la solution consiste à diviser votre code qui utilise VMR9 et le code qui utilise DES et des fonctions connexes comme IMediaDet en deux fichiers source distincts. Cela signifie que vous ne pouvez pas placer un fichier d'en-tête dans un en-tête précompilé tel que stdafx.h.

Une solution alternative a été postée sur les newsgroups par chadderack. Il utilise le #define ci-dessous afin que les conflits soient évités:

#ifndef __D3DRM_H__ 
#define __D3DRM_H__ 
#endif 

#include <dshow.h> 
#include <d3d9.h> 
#include <vmr9.h> 
#include <qedit.h> 
#include <dxerr9.h> 
+0

La liaison ci-dessus ne s'ouvre pas. – Sijith

Questions connexes