问题
I have a Logitech HD Webcam C270. I want to write a simple webcam application and so I tried to compile the Qt camera example (Qt\Qt5.2.0\5.2.0\msvc2010_opengl\examples\multimediawidgets\camera).
My dev system is a Windows 7 x64 SP1 Virtual Machine. If the webcam is connected to this VM the example runs very well. Qt and the windows device manager detect the webcam as "USB Video device".
When I try to run the compiled binary on my non-virtual system (which is also Win7 x64 SP1) the application says "the camera service is missing" (yes, I disconnected the camera from the virtual machine). On this system the camera is detected as "Logitech HD Webcam C270 "
I also have a second notebook with Win7 x64 SP1 - same problem here.
When I test the webcam with another tool (dorgem.cvs.sourceforge.net/viewvc/dorgem/Dorgem/) I can see, that the webcam works.
What can I do to resolve the problem?
Am I missing some library or 3rd party tool? Qt isn't installed on my "real" systems. I copied all DLLs the application complained about to the same directory as the exe file:
icudt51.dll
icuin51.dll
icuuc51.dll
Qt5Cored.dll
Qt5Guid.dll
Qt5Multimediad.dll
Qt5MultimediaWidgetsd.dll
Qt5Networkd.dll
Qt5OpenGLd.dll
Qt5Widgetsd.dll
platforms/qwindowsd.dll
回答1:
Thanks to FrankOsterfeld. He pointed me in the right direction.
I had to copy the following files from Qt to my app dir:
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
Desination
MyAppDir\MyApp.exe
MyAppDir\(files from original post)
MyAppDir\mediaservice\dsengined.dll
MyAppDir\mediaservice\qtmedia_audioengined.dll
MyAppDir\mediaservice\wmfengined.dll
This links helped me to find the soloution:
- Deploying Qt application using QtMultimedia in release mode
- http://qt-project.org/doc/qt-5.0/qtdoc/deployment-windows.html#creating-the-application-package
"In contrast to user plugins, Qt plugins have to be put into subdirectories matching the plugin type. As we want to deploy the windows platform plugin it has to be put into a "platforms" subdirectory."
来源:https://stackoverflow.com/questions/20790835/qt-5-2-0-the-camera-service-is-missing