VS2008编译项目遇到的问题以及解决方法

1.error :  _WIN32_WINNT settings conflicts with _WIN32_IE setting

解决:

项目属性 -> c/c++ ->预处理器 -> 预处理器定义,里面有一个_WIN32_WINNT=0x400

改为_WIN32_WINNT=0x0500就好了。不用改代码。

 

2.错误提示信息:fatal error C1083: Cannot open include file: 'streams.h': No such file or directory

 

错误原因:找不到streams.h这个文件

 

解决方法:

 

1) 安装directX sdk

2)打开安装目录下的dshow.dsw,进行编译

3)在VC++Tools/Option/DirectoryIncludeLibrary中分别加入

C:/DXSDK/Include

C:/DXSDK/SAMPLES/C++/DIRECTSHOW/BASECLASSES

C:/DXSDK/SAMPLES/C++/COMMON/INCLUDE

 

C:/DXSDK/Lib

C:/DXSDK/SAMPLES/C++/DIRECTSHOW/BASECLASSES/DEBUG

 

4)在编译你工程前,在Project/Setting/Link/中加入 strmbasd.lib uuid.lib winmm.lib

 

操作:

头文件

D:\sdk\dx90asdk\Include

D:\sdk\dx90asdk\Samples\C++\Common\Include

D:\sdk\dx90asdk\Samples\C++\DirectShow\BaseClasses

 

lib文件

D:\sdk\dx90asdk\lib

 

3.error C4430:缺少类型说明符 - 假定为 int。注意: C++不支持默认 int 错误的解决方法

 解决方法:

一些函数定义中,在VC6中,如果没有显示的指定返回值类型,编译器将其视为默认整型;

但是vs2008/vs2010不支持默认整型,解决这个问题不能修改每个没有显示指示返回值类型的函数地方,

可以用排除4430来解决;具体的在打开project->BaseClasses properties->configuration->C/C++ ->Advance

中禁用特定警告中排除4430即可。

 

4.下面使用i的时候提示变量未定义。

       INT i;

       for (i = 0; i< m_nBuffers; i++

修改前

       for (INT i = 0; i< m_nBuffers; i++

 

5.

DSCapture.obj : error LNK2019:无法解析的外部符号 "int __cdecl wsprintfWInternal(wchar_t *,wchar_t const *,...)"

(?wsprintfWInternal@@YAHPA_WPB_WZZ),该符号在函数

"protected: long __thiscall CDSCapture::AddGraphToRot(struct IUnknown *,unsigned long *)"

(?AddGraphToRot@CDSCapture@@IAEJPAUIUnknown@@PAK@Z)中被引用

 

解决方法:

把wsprintfW改为swprintf即可。

 

 转载请注明原创链接:http://blog.csdn.net/wujunokay/article/details/16350185

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值