gpt4 book ai didi

c++ - UVC 扩展单元和 Directshow 集成

转载 作者:可可西里 更新时间:2023-11-01 10:46:59 25 4
gpt4 key购买 nike

我正在尝试修改 MSDN link 中提供的 UVC 扩展单元代码.我已将其他方法添加到 XUProxy.cpp 中提供的 CExtension 类。添加的所有这些方法也包含在 interface.idl 文件中。

这是代码片段。

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 中提供的相同.

我在源文件中添加了streams.h、strmbase.lib和strmiids.lib如下。

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\

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

> /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 *************

我是否在 SOURCE 文件的语法中犯了错误?我在 SOURCE 文件的 INCLUDES 字段中包含了 Platform SDK 的路径。

最佳答案

我通过重新排列头文件和 cpp 中包含的头文件的顺序解决了我的问题我的项目的源文件。

查看以下链接 C/C++ include header file order

我还让 UVC 扩展单元完美地工作。

关于c++ - UVC 扩展单元和 Directshow 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20260430/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com