PDA

View Full Version : Deploying a dynamically linked Phonon app



Mookie
29th May 2010, 13:10
I need to deploy an app that has Phonon dynamically linked on a windows platform. I am not compiling Qt from source but am using the Qt SDK as is.

For now...
I have QtCore, QtGui, QtOpenGL, and Phonon DLLS in the same directory as the application.
I have the phonon_backend directory, with it's contents, there too.

When I move this tree to a non-development machine (read: Qt SDK not installed) the MediaWidget just does not show. Everything works on my development machine.

What piece am I missing? A plugin? Another DLL?

Phonon::BackendCapabilities::availableMimeTypes() tells me a list of types, so I know it sees the phonon_backend DLLs.

MorrisLiang
29th May 2010, 18:38
Try using dependency walker in the target machine.Then you will know which one is missing.

gitarooLegend
8th September 2010, 23:32
Hi,

I'm having this exact same problem. I ran dependency walker and it says I have everything I need.

Here is some more info:

I'm running Qt version 4.6.3, using Qt Creator 2.0 (based on Qt 4.7.0 32 bit)

I installed Qt from the LGPL open source sdk available from the website and am running it on a Windows 7 64 bit computer.

When I tried moving my application and all the necessary files to another computer, this exact same thing happens. My application creates several wav files, it does this successfully on other machines but when I try loading them in to the audio player they don't get loaded in. The video widget just does not appear at all, and the music table i'm using for my audio widget doesn't load any of the audio sources. When I ran dependency walker it told me my application needed these DLL's:

LIBGCC_S_DW2-1.DLL
MINGWM10.DLL
PHONON4.DLL
QTCORE4.DLL
QTGUI4.DLL

I put all of these into the folder with my application on someone else's computer and it still would not load the widgets. No errors occur, the widgets just don't load and don't work. I even ran dependency walker on this person's computer and it confirmed that it had everything it needed, the only thing it said that was missing was WER.dll which is a windows error library. I moved that over and it still didn't work. If anyone has any idea why this isn't working on other computers besides the one I built I'd greatly appreciate it as this is part of my masters project.

gitarooLegend
8th September 2010, 23:59
nevermind, found the solution in another thread:
http://www.qtcentre.org/threads/29639-Running-a-Qt-application-with-Phonon-on-a-non-development-computer?highlight=Phonon+on+windows

pradeepreddyg95
3rd September 2011, 07:16
In order to distribute your Phonon based application to another machine, you need to deploy the following along with your application:

Application directory:

yourApplication.exe
Visual Studio Redistributable Package
phonon4.dll
QtCore4.dll
QtGui4.dll
QtOpenGL4.dll
phonon_backend (directory)
It is necessary to copy the QtOpenGL4.dll since the phonon backend relies on this on Windows. The folder named phonon_backend above needs to contain the following file:

phonon_ds9d4.dll

If you are using MinGW, then you need to deploy

libgcc_s_dw2-1.dll
11.362 mingwm10.dll

instead of the Visual Studio Redistributable Package.