我最近一直试图让UVC(USB视频类)扩展单元启动并运行。我确实取得了一些进展(通过来自另一个论坛的消息获得了vidcap_i.c),但我还没有能够由于编译错误而经历,我希望我能在这里获得一些帮助。 我创建了所有必需的文件,我在Microsoft网站上的示例指导,除了示例应用程序。
它们的内容与UVC样本链接的内容相同。
*注意:我对#34;来自WIA的Copy Extend.def扩展样本并编辑它的行感到有些困惑。 Uvcxuplugn.def应该包含"。我希望我能正确使用它 - 我已将extend.def文件从WDK samples目录复制到 c:\ xu目录,编辑文件,添加必要的内容并将其保存为Uvcuplugn.def文件。
使用Build环境构建之后,这是编译的输出:
C:\ xu> Build -cZg
BUILD:为AMD64编译和链接
构建:开始时间:
BUILD:检查要编译的文件的c:\ xu目录。
c:\xu Invalidating OACR warning log for 'root:amd64chk'
BUILD:在c:\ xu目录中构建生成的文件
为root用户配置OACR:amd64chk' -
运行MIDL - interface.idl
BUILD:编译c:\ xu目录
编译 - interface_i.c
编译 - vidcap_i.c
编译 - uvcxuplgn.cpp
目录c:\ xu 中的1>错误
1> c:\ xu \ xuproxy.h(69):错误C2017:非法转义序列
1> c:\ xu \ xuproxy.h(71):错误C2059:语法错误:' __ uuidof'
1> c:\ xu \ xuproxy.h(71):错误C2017:非法转义序列
1> c:\ xu \ xuproxy.h(71):错误C2332:' struct' :缺少标签名称
1> c:\ xu \ xuproxy.h(71):错误C2011:'' :' enum'类型重新定义
1> c:\ xu \ uvcxuplgn.cpp(7):错误C2143:语法错误:缺少&#39 ;;'之前' {'
1> c:\ xu \ uvcxuplgn.cpp(7):错误C2447:' {' :缺少函数头(旧式 正式名单?)
1> c:\ xu \ uvcxuplgn.cpp(31):错误C2065:' ObjectMap' :未声明的标识符
编译 - stdafx.cpp
编译 - xuproxy.cpp
建筑图书馆 - objchk_win7_amd64 \ amd64 \ uvcxuplgn.lib
1>链接:错误LNK1181:无法打开输入文件&c; \ xu \ objchk_win7_amd64 \ amd64 \ uv cxuplgn.obj'
BUILD:编译错误:不链接c:\ xu目录
建立:完成时间:
构建:完成
12 files compiled - 1 Warning - 8 Errors
1 library built - 1 Error
无论目标是什么(x86,x64,ia64)
,我都会得到相同的错误现在,让我们逐一审核错误,从最后一个开始:
LNK1181->对这个错误一无所知。我已经完成了构建的清理工作而没有帮助
一切。但这可能是最容易解决的错误,希望你能给我一个
该主题的领导者。
uvcxuplgn.cpp,第7行,有问题的语法是:BEGIN_OBJECT_MAP(ObjectMap)。
根据Microsoft的文档(http://msdn.microsoft.com/en-us/library/10fb0d3e(v=vs.90).aspx),该指令在atlcom.h中定义,包含在内 在文件中,所以我对这个错误的原因感到很困惑。
最后一个错误与最后5行扩展单元代理头文件有关(由于错误而无法在此处发布代码 - 请检查此页面(http://msdn.microsoft.com/en-us/library/windows/hardware/ff568134(v=vs.85).aspx)
再一次,不知道,为什么它不应该编译。希望我可以在这个问题上获得一些领先优势 对不起,很长的帖子,希望你能帮助我(可能还有很多其他人)为这个Windows UVC扩展单元主题而苦恼
答案 0 :(得分:0)
首先,您必须始终查看发生的第一个错误。其他人经常跟随错误。所以只需删除第69行和xuproxy.h第71行中的错误转义序列()。
仅发生链接错误,因为编译器之前无法编译.cpp文件,因此缺少目标文件。