我有一个罗技高清网络摄像头 C270。
我想编写一个简单的网络摄像头应用程序,因此我尝试编译 Qt 摄像头示例(Qt\Qt5.2.0\5.2.0\msvc 2010 opengl\examples\multimediawidgets\camera)。
我的开发系统是 Windows 7 x64 SP1 虚拟机。如果网络摄像头连接到该虚拟机,则该示例运行得很好。 Qt 和 Windows 设备管理器将网络摄像头检测为“USB 视频设备”。
当我尝试在非虚拟系统(也是 Win7 x64 SP1)上运行编译后的二进制文件时,应用程序显示“缺少相机服务”(是的,我从虚拟机断开了相机连接)。在此系统上,摄像头被检测为“Logitech HD Webcam C270
”
我还有第二台装有 Win7 x64 SP1 的笔记本 - 同样的问题。
当我使用另一个工具(dorgem.cvs.sourceforge.net/viewvc/dorgem/Dorgem/)测试网络摄像头时,我可以看到网络摄像头可以正常工作。
我可以做什么来解决这个问题?
我是否缺少一些库或第三方工具? Qt 没有安装在我的“真实”系统上。
我将应用程序抱怨的所有 DLL 复制到与 exe 文件相同的目录中:
icudt51.dll
icuin51.dll
icuuc51.dll
Qt5Cored.dll
Qt5Guid.dll
Qt5Multimediad.dll
Qt5MultimediaWidgetsd.dll
Qt5Networkd.dll
Qt5OpenGLd.dll
Qt5Widgetsd.dll
platforms/qwindowsd.dll
感谢弗兰克·奥斯特菲尔德。他为我指明了正确的方向。
我必须将以下文件从 Qt 复制到我的应用程序目录:
Qt5.2.0\5.2.0\msvc2010_opengl\plugins\mediaservice\dsengined.dll
Qt5.2.0\5.2.0\msvc2010_opengl\plugins\mediaservice\qtmedia_audioengined.dll
Qt5.2.0\5.2.0\msvc2010_opengl\plugins\mediaservice\wmfengined.dll
目的地
MyAppDir\MyApp.exe
MyAppDir\(files from original post)
MyAppDir\mediaservice\dsengined.dll
MyAppDir\mediaservice\qtmedia_audioengined.dll
MyAppDir\mediaservice\wmfengined.dll
此链接帮助我找到了解决方案:
- 在发布模式下使用 QtMultimedia 部署 Qt 应用程序
- http://qt-project.org/doc/qt-5.0/qtdoc/deployment-windows.html#creating-the-application-package
“与用户插件相比,Qt 插件必须放入与插件类型匹配的子目录中。由于我们想要部署 Windows 平台插件,因此必须将其放入“platforms”子目录中。”
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)