+3  A: 

You might want to read this:

http://doc.trolltech.com/4.6/deployment.html

And all platform specific pages.

Short summary: you have to distribute your software with shared Qt libraries (or use another solution to make sure that users of your application will have those libraries installed) or link statically to Qt libraries.

chalup
A: 

Talking for the Linux side here, if you distribute your application as packages (deb, rpm) then you can use the package dependencies rules. If you define these rules correctly, then the package manager will install the Qt libraries you need when installing your application.

Didier Trosset
A: 

If you deploy on Ubuntu, and therefore use a .deb package, then your job is easy since you just have to require qt as a dependency and apt will automatically install it as needed.

Windows and Mac however do not have any "good" software management layer, so you have no choice but include the required Qt DLLs with your binary or compile a static one. On Windows you just have to make sure the DLLs are in the same directory as your program. Mac however requires some relinking to be done. This is a big pain, but fortunately Qt comes with a tool named macdeployqt which does this for you.

So according to my experience, Linux is the easiest platform to deploy to, followed by Windows, and Mac is a good last.

The link to the Qt deployment doc given above is a good starting point. If you need an example, I have written a couple of scripts to build the Windows and Mac binaries of a program of mine. You can have a look at these to get started.

Windows installer:
http://gitorious.org/tagaini-jisho/tagaini-jisho/blobs/HEAD/scripts/buildwin32releases.sh
http://gitorious.org/tagaini-jisho/tagaini-jisho/blobs/HEAD/tagainijisho.nsi

Mac bundle:
http://gitorious.org/tagaini-jisho/tagaini-jisho/blobs/HEAD/scripts/buildosxreleases.sh

Gnurou