我应该 link 哪个库来使用 DirectX Media Object Wrapper Filter?
Which library should I link to use DirectX Media Object Wrapper Filter?
我提取了我的 C++ 应用程序的一小段代码:
#include <windows.h>
#include "Dshow.h"
#include "dmodshow.h"
int main()
{
IBaseFilter *audioWrapper = NULL;
CoCreateInstance(CLSID_DMOWrapperFilter, NULL, CLSCTX_INPROC_SERVER, IID_IBaseFilter, (void**)&(audioWrapper));
return 0;
}
在这里,我想创建一个 DMO Wrapper Filter 的实例。该应用程序编译良好,但当我 link 时,我得到:
error LNK2001: unresolved external symbol _CLSID_DMOWrapperFilter
但是,我按照 the documentation 中的说明在我的依赖项中正确添加了 Strmiids.lib
和 Quartz.lib
,但它仍然不起作用。
我知道 SDK 已正确安装在我的系统上,因为我可以编译另一个使用 DirectShow 的应用程序,但我没有发现在这种特殊情况下需要依赖项。
那么,有人知道我应该使用哪个库来编译我的应用程序吗?
显然,DMO GUID 由 dmoguids.lib
库导出,CLSID_DMOWrapperFilter
是其中的一部分(即使它在 dmodshow.h
中定义)。
确实,DMO GUIDs 的文档页面说:
These GUIDs are defined in the header file Dmoreg.h and exported by the Dmoguids.lib library.
我提取了我的 C++ 应用程序的一小段代码:
#include <windows.h>
#include "Dshow.h"
#include "dmodshow.h"
int main()
{
IBaseFilter *audioWrapper = NULL;
CoCreateInstance(CLSID_DMOWrapperFilter, NULL, CLSCTX_INPROC_SERVER, IID_IBaseFilter, (void**)&(audioWrapper));
return 0;
}
在这里,我想创建一个 DMO Wrapper Filter 的实例。该应用程序编译良好,但当我 link 时,我得到:
error LNK2001: unresolved external symbol _CLSID_DMOWrapperFilter
但是,我按照 the documentation 中的说明在我的依赖项中正确添加了 Strmiids.lib
和 Quartz.lib
,但它仍然不起作用。
我知道 SDK 已正确安装在我的系统上,因为我可以编译另一个使用 DirectShow 的应用程序,但我没有发现在这种特殊情况下需要依赖项。
那么,有人知道我应该使用哪个库来编译我的应用程序吗?
显然,DMO GUID 由 dmoguids.lib
库导出,CLSID_DMOWrapperFilter
是其中的一部分(即使它在 dmodshow.h
中定义)。
确实,DMO GUIDs 的文档页面说:
These GUIDs are defined in the header file Dmoreg.h and exported by the Dmoguids.lib library.