视频聊天vs2003工程转vs2010工程问题记录

今天需要将一份vs2003上面的工程转成vs2010下面的,在转换过程中出现了如下问题,特作此记录。

一.头文件streams.h、qedit.h找不见

这个错误需要我们在工程中配置directshow,由于目前directshow已经不随着directx一起发布了,而是集成到了windows platform sdk当中,所以我们需要安装windows platfrom sdk7.

接下来,我们需要进入目录“C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\BaseClasses”,打开baseclasses.sln文件,进行编译即可生成工程中所需要的库文件strmbaseRU.lib、strmbaseDU.lib,其所在目录是“C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1\Samples\multimedia\lib”,如何生成的是64位的库文件,则所在目录是“C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\libx64”。

生成好了所需要的directshow库文件后,就需要在vs2010中配置它了。如果整个解决方案里面的工程都需要用到directshow的话,可以在通过如下方式设置。

1.点击“view->other window->property manager"

2. 点击任意一个工程,双击Microsoft.Cpp.Win32.user,在弹出框中设置include、llibrary即可

  


下面是directShow的设置情况:

1.include

  • C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\BaseClasses
  • C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\common
  • C:\Program Files\Microsoft SDKs\Windows\v7.1\Include
  • C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include

2.lib

  • C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\lib
  • C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib

设置了以上内容后,在编译qedit.h的时候会报:无法打开包括文件:"dxtrans.h": No such file or directory c:\program files\microsoft sdks\windows\v6.0a\include\qedit.h 498这个错误,修正该错误的方法为在qedit.h文件中添加如下内容即可:

#pragma include_alias( "dxtrans.h", "qedit.h" )
#define __IDxtCompositor_INTERFACE_DEFINED__
#define __IDxtAlphaSetter_INTERFACE_DEFINED__
#define __IDxtJpeg_INTERFACE_DEFINED__
#define __IDxtKey_INTERFACE_DEFINED__

二.报连接错误GIPSVoiceEngineLib.lib(lpc_maskingmodel.obj) : error LNK2019: unresolved external symbol __iob referenced in function _GIPS_ISAC_levdurb
1>GIPSVoiceEngineLib.lib(fftns.obj) : error LNK2001: unresolved external symbol __iob

解决方法为:

//在main函数文件中添加如下语句
#ifdef __cplusplus
extern "C" 
#endif
FILE _iob[3] = {__iob_func()[0], __iob_func()[1], __iob_func()[2]}; 

三.工程包错”fatal error LNK1146: no argument specified with option '/out:'“

这个错误的原因是系统或者文件夹下面有cl.exe这个文件,而vs2010没有用自己的cl.exe,使用个系统目录下或者工程目录下面的老版本的cl.exe的原因,将这个文件移除即可解除这个错误



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风水月

从心底相信自己是成功的第一步

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值