用VS2008编译DirectShow

使用VS2008打开 BaseClasses目录下的baseclasses,提示升级,点Finish;
选择编译,出现
1>C:/Program Files/Microsoft DirectX 9.0 SDK (Summer 2004)/Samples/C++/DirectShow/BaseClasses/ctlutil.h(278) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

注意: C++ 不支持默认int

解决方法:

COARefTime(LONG); operator=(LONG);

改变成“COARefTime & operator=(LONG);

 

编译后出现多处变量未定义问题,

把for循环内的变量声明提到for循环之外即可。

 

之后出现error C4430: missing type specifier - int assumed. Note: C++ does not support default-int错误

解决方法把static g_dwLastRefresh = 0;改为static long g_dwLastRefresh = 0;

 

 

如果产生链接错误,则将

Look out for "Treat wchar_t as Built in type" option on the C/C++ Language tab. If you've been using an older version of strmbas* built from the base classes, you could have said "No" to this option. Change it back to "Yes".

 

你可能感兴趣的:(用VS2008编译DirectShow)