首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UVC扩展单元与Directshow集成

UVC扩展单元与Directshow集成
EN

Stack Overflow用户
提问于 2013-11-28 07:46:09
回答 1查看 1.6K关注 0票数 2

我试图修改UVC扩展单元代码,在MSDN链路中提供。我向CExtension类添加了XUProxy.cpp中提供的其他方法。添加了所有这些方法也包括到interface.idl文件中。

这是代码片段。

代码语言:javascript
复制
STDMETHODIMP CExtension::GetAllCapDevices(
        PDEVICELIST pList,
        ULONG *pulDevCount,
        ULONG ulListNum)
{
    HRESULT hr = S_OK;
    IEnumMoniker *pEnum;

    CoInitializeEx(NULL, COINIT_MULTITHREADED);
    
    hr = EnumerateDevices(CLSID_VideoInputDeviceCategory, &pEnum);
    if (SUCCEEDED(hr))
    {
        DisplayDeviceInformation(pEnum);
        pEnum->Release();
    }
    
    return hr;
}

EnumerateDevices和DisplayDeviceInformation与http://msdn.microsoft.com/en-us/library/windows/desktop/dd377566%28v=vs.85%29.aspx中提供的相同。

我在源文件中添加了Stres.h、strmbase.lib和strmiids.lib,如下所示。

代码语言:javascript
复制
TARGETLIBS= \
        $(SDK_LIB_PATH)\kernel32.lib            \
        $(SDK_LIB_PATH)\user32.lib              \
        $(SDK_LIB_PATH)\gdi32.lib               \
        $(SDK_LIB_PATH)\advapi32.lib            \
        $(SDK_LIB_PATH)\comdlg32.lib            \
        $(SDK_LIB_PATH)\ole32.lib               \
        $(SDK_LIB_PATH)\oleaut32.lib            \
        $(SDK_LIB_PATH)\uuid.lib                \
        $(SDK_LIB_PATH)\comctl32.lib            \
        $(SDK_LIB_PATH)\i386\stream.lib         \
        $(SDK_LIB_PATH)\i386\strmbase.lib       \
        $(SDK_LIB_PATH)\i386\strmiids.lib       \
        $(SDK_LIB_PATH)\i386\strsafe.lib

INCLUDES=\
    C:\Program Files\Microsoft SDKs\Windows\v6.1\Include\

在构建此源文件时,我会收到以下错误(从构建日志文件获取部分详细信息)

代码语言:javascript
复制
> /Fdd:\uvcextensionunit\win7build\objchk_win7_x86\i386\
1> /DKMDF_MAJOR_VERSION_STRING=01
1> /DKMDF_MINOR_VERSION_STRING=009
1> /wd4603
1> /wd4627
1> /typedil-
1> /FIC:\WinDDK\7600.16385.1\inc\api\warning.h
1> .\xuplugin.cpp .\stdafx.cpp .\xuproxy.cpp 
1>xuplugin.cpp
1>stdafx.cpp
1>statreg.cpp is obsolete. Please remove it from your project.
1>atlimpl.cpp is obsolete. Please remove it from your project.
1>xuproxy.cpp
1>c:\program files\microsoft sdks\windows\baseclasses\streams.h(152) : fatal error C1083: Cannot open include file: 'strmif.h': No such file or directory
1>Generating Code...
1> C:\WinDDK\7600.16385.1\Bin\x86\oacr\oacrlink /lib /out:d:\uvcextensionunit\win7build\objchk_win7_x86\i386\XUPlugin.lib @d:\uvcextensionunit\win7build\objchk_win7_x86\i386\lib.rsp
1>Microsoft (R) Library Manager Version 9.00.30729.207
1>Copyright (C) Microsoft Corporation.  All rights reserved.
1>/IGNORE:4198,4010,4037,4039,4065,4070,4078,4087,4089,4221 
1>/WX 
1>/nodefaultlib 
1>/machine:ix86 
1>/def:XUPlugin.def 
1>d:\uvcextensionunit\win7build\objchk_win7_x86\i386\xuplugin_i.obj 
1>d:\uvcextensionunit\win7build\objchk_win7_x86\i386\xuplugin.obj 
1>d:\uvcextensionunit\win7build\objchk_win7_x86\i386\stdafx.obj 
1>d:\uvcextensionunit\win7build\objchk_win7_x86\i386\xuproxy.obj 
1>LINK : fatal error LNK1181: cannot open input file 'd:\uvcextensionunit\win7build\objchk_win7_x86\i386\xuproxy.obj'
1>errors in directory d:\uvcextensionunit\win7build
1>link : error LNK1181: cannot open input file 'd:\uvcextensionunit\win7build\objchk_win7_x86\i386\xuproxy.obj'
Compile errors: not linking d:\uvcextensionunit\win7build directory *************

我在源文件的语法上犯了错误吗?我已经在包含源文件的字段中包含了Platform SDK的路径。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-03 07:01:39

我已经解决了我的问题,通过重新排列顺序的头文件包括在头文件和cpp源文件的我的项目。

查看C/C++包括头文件顺序的以下链接

此外,我还使UVC扩展单元完美地工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20260430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档