- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一. 第一步,设置INCLUDE及LIB目录
在把dxsdk中提供的baseclass编译通过后,用四种方式编译,会分别生成四个lib,一般只用到了
其中的Debug和Release文件,在tool|option|vc++ directories中包含的files中设置如下。这里需要加入得include files有四种:D:/SDK/DXSDK/IncludeD:/SDK/DXSDK/Samples/C++/DirectShow/BaseClassesD:/SDK/DXSDK/Samples/C++/DirectShow/CommonD:/SDK/DXSDK/Samples/C++/Common/Include (这里可能是Common)(接下来才是VC原来的)
在后边的library files中也需要增加三到四种的文件:D:/SDK/DXSDK/LibD:/SDK/DXSDK/Samples/C++/DirectShow/BaseClasses/Debug (基类编译前,这两个可以不设置)D:/SDK/DXSDK/Samples/C++/DirectShow/BaseClasses/Release(接下来才是VC原来的)
二. 第二步,编译BaseClasses基类
本人使用的是VS2005,要使用DirectShow进行编程,需要对环境进行必要的配置。第一步:对dssdk中的baseclass.sln进行编译,生成需要的debug和release文件,具体步骤如下
:在VS6中,安装DirectShow9c版本之后,直接打开BaseClass中的Vc6工程baseclasses.dsw文件,
直接编译即可,编译Debug Release Debug_Unicode Release_Unicode四个版本,都需要进行
额外的设置(头文件或者链接库目录设置)。DirectShow的BaseClass中已经带了VS2005的工程文件baseclasses.sln,在vs2005中打开此文件
,提示你进行必要的工程转换,转换之后开始编译,编译过程一般会出现下面两个问题:(1)C:/Program Files/Microsoft Visual Studio 8/VC/PlatformSDK/include/winnt.h(222) :
error C2146: syntax error : missing ; before identifier PVOID64(2)error C4430: missing type specifier - int assumed. Note: C++ does not support
default-int(3)error C2065: Count : undeclared identifier第一类问题的解决:project-BaseClasses properties-configuration-C/C++ - General-
Additional Include Directories里面的内容(.,../../../../include)删掉,重新编译,
PVOID64的错误消失,原因如下:POINTER_64 是一个宏,在64位编译下起作用,它包含在SDK目录下的BASETSD.H中(Microsoft
Visual Studio 8/VC/PlatformSDK/Include/basetsd.h(23):#define POINTER_64 __ptr64),但
DXSDK自己也带了一个basetsd.h,里面没有定义POINTER_64,从而导致出错,只需要改变include
files的优先级即可。。当然,也可以改写winnt.h中的代码,将typedef void *PVOID;typedef void * POINTER_64 PVOID64;改成typedef void *PVOID;typedef void * POINTER_64;typedef void * PVOID64;第二类问题的解决:错误发生在:operator=(LONG);函数定义中,这是因为在VC6中,如果没有显
示的指定返回值类型,编译器将其视为默认整形;但是vs2005不支持默认整形,解决这个问题不
能修改每个没有显示指示返回值类型的函数地方,可以用wd4430来解决;具体的在工程选项中的
c++/Command Line中添加/wd4430即可。第三个错误发生在for循环中,vc6中for循环中定义的变量相当于在for外面定义,可以在for之外
地方使用;但是vs2005for循环中定义变量相当于域{}变量,只能在for循环中使用。要解决
您可能关注的文档
- Ubvhit日语形容词精讲.doc
- udb88181教你如何快速加好友.doc
- UG加工模块中英文对照4.doc
- UIthera音波拉皮效果怎样.docx
- UML课后选择填空名词解释.docx
- unicode通用字符集.docx
- Unit15短语翻译句子.doc
- Unit1Howcanwebecomegoodlearners单元导学案.doc
- unit1集体备课资料.doc
- unit3textB课文翻译.docx
- 2025监理工程师自我提分评估含答案详解【综合卷】.docx
- 2025年监理工程师过关检测试卷及完整答案详解(全国通用).docx
- 2024监理工程师预测复习及完整答案详解(名师系列).docx
- 2025燃气职业技能鉴定考前冲刺测试卷附答案详解【A卷】.docx
- 2024监理工程师检测卷【word】附答案详解.docx
- 2025年监理工程师试卷附参考答案详解【考试直接用】.docx
- 2024年监理工程师题库及完整答案详解【各地真题】.docx
- 监理工程师常考点试卷附参考答案详解【B卷】.docx
- 监理工程师过关检测试卷及完整答案详解【夺冠系列】.docx
- 2024年监理工程师题库检测试题打印附参考答案详解(基础题).docx
最近下载
- 云南省卓越人才教育培养基地建设项目剖析.doc VIP
- 肿瘤防治知识讲座 课件.ppt VIP
- 2024官方兽医考试更新题库及答案.doc
- 建筑工程图集 FG01~05(2007年合订本):防空地下室结构设计(2007年合订本) 1.pdf VIP
- 2021年游乐园作文10篇.docx VIP
- Empower Toolkit 培训资料2021新版.pdf
- 一种压片机用硬脂酸镁粉末喷雾装置.pdf VIP
- 2025年河北石家庄市市属国有企业公开招聘管理人员及专业技术人员587名笔试参考题库附答案解析.docx VIP
- GB 50500-2013 建设工程工程量清单计价规范.docx
- 物联网操作系统LiteOS内核开发与实践(刘旭明)全套PPT课件.pptx
文档评论(0)