使用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
选择编译,出现
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;
本文解决了使用VS2008编译DirectShow BaseClasses时遇到的多个编译错误,包括类型缺失导致的默认int假设错误及变量未定义问题,并提供了具体的修改方法。
636

被折叠的 条评论
为什么被折叠?



