none
VC9与VC6 DirectX SDK BaseClasses编译问题 RRS feed

  • 问题

  • 安装DirectX SDK

    *.首先安装DirectX SDK;
    *.打开SDK的安装目录(一般为C:\DXSDK),找到BaseClasses文件夹,一般在
    C:\DXSDK\Samples\C++\DirectShow\BaseClasses,打开其中的BaseClasses.dsw(vc 6.0下的可执行文件);在“生成”目录下选择“批生成”在选项中选择“Debug”和“Release”,然后生成该项目;


    我下载了 DirectX9.0C, 发现其中的BaseClasses.dsw 已经是 BaseClasses.sln 是VC7的工程, 我VS2008一打开后就升到了VC9的工程了, 编译时就出现如下错误, 我不怎么会用 VS2008, 不知道怎么解决, 请高的赐教


    private:
        //  Prevent bugs from constructing from LONG (which gets
        //  converted to double and then multiplied by 10000000
        COARefTime(LONG);
        operator=(LONG); 这里编不过去

    error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
    c:\Program Files\DXSDK\Samples\C++\DirectShow\BaseClasses\ctlutil.h 278 BaseClasses



    2009年9月2日 12:38

答案

  • 你是要用DirectShow吧.

    这里是有问题的,是代码由于VC升级带来的问题
    改为int operator=(LONG);即可

    不影响代码的功能.
    0xBAADF00D
    2009年9月2日 13:05
    版主

全部回复