DirectShow 在vs2005中的问题解决之实例分析

一、针对编译DXSDK/Samples/c++/Direct3D时出现的错误,进行解析。

错误例子:

       CVTRES :  fatal error CVT1100: 重复的资源。type:MANIFEST, name:1, language:0×0409

LINK : fatal error LNK1123: 转换到COFF 期间失败: 文件无效或损坏

解决方案:

我的编译环境是Microsoft Visual Studio 2005

将所有工程的属性(工程全选->右击->属性)->配置属性->清单工具->输入输出->嵌入清单,选择,然后编译,就OK了。

二、针对出现未声明标识符的错误进行解析。

错误例子:for( m=0; m<pDevice->dwNumModes; m++ )

            {

                if( pDevice->modes[m].Width==640 && pDevice->modes[m].Height==480 )

                {

        error C2065: “m”: 未声明的标识符

像这种错误,你可以查找它的定义,在将它的定义复制到错误行的前面。如上述例子中,你可以在for的上一行添加long m;。就可以了。

三、针对出现无法初始化问题的错误进行解析。

错误例子:

TCHAR* strLastSlash = _tcsrchr( str, TEXT(‘//’) )

错误:error C2440: “初始化”: 无法从“const wchar_t *”转换为“TCHAR *”

像这样的错误,你可以在=的右边进行强制转换。如下:

TCHAR* strLastSlash = (TCHAR*)_tcsrchr( str, TEXT(‘//’) );

四、针对警告被视为错误的问题进行解析

错误例子:

c:/dxsdk/samples/c++/misc/dxdiagreport/dxdiaginfo.cpp(322) : error C2220: 警告被视为错误- 没有生成“object”文件。

这种错误的原因是:原因是该文件的代码页为英文,而我们系统中的代码页为中文。

解决方案:启动Microsoft Visual Studio 2005,文件->打开->选择c:/dxsdk/samples/c++/misc/dxdiagreport/dxdiaginfo.cpp,然后保存。从新打开程序文件运行,此错误不再出现。

如果上述不能去掉错误,还可以点击项目,右击选择属性->配置属性->c/c++->常规,将警告视为错误的选项改为。就可以!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值