主题:[讨论]Visual C++编程实现摄像头视频捕捉
tokushima
[专家分:0] 发布于 2006-04-13 21:23:00
用 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 楼
erliqq [专家分:310] 发布于 2006-04-26 15:50:00
CComPtr<ISampleGrabber> m_pGrabber;
又错了,老兄能不能给我说说,怎么搞定的?
12 楼
erliqq [专家分:310] 发布于 2006-04-26 15:58:00
兄弟,你说的那个加#include <wtypes.h>
不行,我还是有上面这个错
13 楼
tokushima [专家分:0] 发布于 2006-04-26 17:14:00
你 tool 里的include 路径指定对了吗?
14 楼
erliqq [专家分:310] 发布于 2006-04-26 21:28:00
老兄,帮帮忙吧,还是不行,我设过了
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 楼
yuleichao [专家分:0] 发布于 2006-04-26 21:34:00
capturevideo.h得加上
#include <streams.h>
#include <qedit.h>
16 楼
erliqq [专家分:310] 发布于 2006-04-26 21:42:00
能不能给兄弟我发一个参考,谢谢了,我搞头都疼呀!!!
17 楼
tokushima [专家分:0] 发布于 2006-04-26 22:08:00
erliqq 兄,我也没搞定,不过,我好像比你更进一步,至少编译器能认识我的声明,只不过我的问题还没人帮我解决,所以你该有信心,按各位大侠的提示就能解决,至少可以到我这一步。在 project->setting->link里加了所需的 .lib名称了吗?
18 楼
erliqq [专家分:310] 发布于 2006-04-26 22:46:00
加了,那位发帖的仁兄也是,怎么不发全了,大家好分享!!!
19 楼
erliqq [专家分:310] 发布于 2006-04-26 22:57:00
: error C2018: unknown character '0xa1'
(44) : error C2018: unknown character '0xa1'
这个是什么?
20 楼
tokushima [专家分:0] 发布于 2006-04-26 23:26:00
空格字符不一样的编码。你把出现这样提示的地方的空格都删了后就可以了。
我来回复