IMFSourCereadErcallback:基类未定义



我在通过Media Foundation从摄像机中阅读样品遇到了一些麻烦。我在Windows SDK示例文件夹mfcapturetofile中遵循示例。

我的课程正确设置为从抽象的imfsourcereadercallback类中继承,据我所知:

#include <windows.h>
#include <mfapi.h>
#include <mfidl.h>
#include <mfreadwrite.h>
class WinCapture : public IMFSourceReaderCallback{
public:
    static HRESULT CreateInstance(
        std::string deviceName,
        WinCapture **winCapture 
        );
    // IUnknown methods
    STDMETHODIMP QueryInterface(REFIID iid, void** ppv);
    STDMETHODIMP_(ULONG) AddRef();
    STDMETHODIMP_(ULONG) Release();
    // IMFSourceReaderCallback methods
    STDMETHODIMP OnReadSample(
        HRESULT hrStatus,
        DWORD dwStreamIndex,
        DWORD dwStreamFlags,
        LONGLONG llTimestamp,
        IMFSample *pSample
        );
    STDMETHODIMP OnEvent(DWORD, IMFMediaEvent *)
    {
        return S_OK;
    }
    STDMETHODIMP OnFlush(DWORD)
    {
        return S_OK;
    }

}

如果我单独编译此代码,则可以填写罚款。但是,如果我想在较大的项目中使用此类,它会给我带来错误。在其他文件中,在其他文件中包括wincapture.h,是否有一些事情?为什么它会单独进行编译,但不能在较大的项目中进行编译?

我想正在进行一个循环依赖性,但我不确定如何跟踪。当然,这似乎不是我自己的制作,更有可能隐藏在某处的标题。

解决方案似乎是使用

#define WIN32_LEAN_AND_MEAN

在标题文件中,将所有内容的所有内容都包含在任何其他文件中的任何#include指令的顶部。现在,该代码单独编译,并且在一个较大的项目中。

最新更新