回 帖 发 新 帖 刷新版面

主题:[讨论]Visual C++编程实现摄像头视频捕捉

用 vc 编程实现摄像头视频捕捉 。我找了一篇文章,地址如下

http://www.programfan.com/article/showarticle.asp?id=2868

我按文章的要求去做,装了DirectX9 SDK ,并导入了Strmiids.lib Quartz.lib 这两个库,在 xp vc 下运行,出现这样的错误


--------------------Configuration: test - Win32 Debug--------------------
Compiling...
CaptureVideo.cpp
c:\test\capturevideo.h(36) : error C2143: syntax error : missing ';' before '*'
c:\test\capturevideo.h(36) : error C2501: 'ICaptureGraphBuilder2' : missing storage-class or type specifiers
c:\test\capturevideo.h(36) : error C2501: 'm_pCapture' : missing storage-class or type specifiers
c:\test\capturevideo.h(40) : error C2065: 'ISampleGrabber' : undeclared identifier
c:\test\capturevideo.h(40) : error C2955: 'CComPtr' : use of class template requires template argument list
        c:\program files\microsoft visual studio\vc98\atl\include\atlbase.h(563) : see declaration of 'CComPtr'
c:\test\capturevideo.h(40) : fatal error C1903: unable to recover from previous error(s); stopping compilation
Error executing cl.exe.

test.exe - 6 error(s), 0 warning(s)


用DirectX9 SDK  编程还要什么设置吗?导入Strmiids.lib Quartz.lib ,是project->
setting->Link->Object/library moudules 中加入的,在Tools->Directories->Library files 中也加入了相关的目录,编译的程序是 MFC AppWizard(exe) 程序,不是向导中的DirectX 9 AppWizard 生成的程序。

谢谢指导。

回复列表 (共31个回复)

11 楼

    



           CComPtr<ISampleGrabber> m_pGrabber;
又错了,老兄能不能给我说说,怎么搞定的?

12 楼

兄弟,你说的那个加#include <wtypes.h>
不行,我还是有上面这个错

13 楼

你 tool 里的include 路径指定对了吗?

14 楼


老兄,帮帮忙吧,还是不行,我设过了

C2065: 'ISampleGrabber' : undeclared identifier
c error C2955: 'CComPtr' : use of class template requires template argument list
       : fatal error C1903: unable to recover from previous error(s); stopping compilation
SampleCGB.cpp

15 楼

capturevideo.h得加上
#include <streams.h>
#include <qedit.h>

16 楼



能不能给兄弟我发一个参考,谢谢了,我搞头都疼呀!!!

17 楼

erliqq 兄,我也没搞定,不过,我好像比你更进一步,至少编译器能认识我的声明,只不过我的问题还没人帮我解决,所以你该有信心,按各位大侠的提示就能解决,至少可以到我这一步。在 project->setting->link里加了所需的 .lib名称了吗?

18 楼


加了,那位发帖的仁兄也是,怎么不发全了,大家好分享!!!

19 楼

: error C2018: unknown character '0xa1'
(44) : error C2018: unknown character '0xa1'
这个是什么?

20 楼

空格字符不一样的编码。你把出现这样提示的地方的空格都删了后就可以了。

我来回复

您尚未登录,请登录后再回复。点此登录或注册