Help and clarification with installation and deployment
first of all, I think I didn't understand the process of deploy Qt applications very well. So I ask for your help.
The first I did when started with Qt was download Qt SDK for windows. After some testing and reading I assumed that as I need my application to run in win and linux, I would need to develop my application in Linux as well. So I downloaded Qt SDK to Linux and started others tests in a virtualized Ubuntu 11.04. After that, I wanted to run my linux test application in other machine with no Qt installed then I read about deployment in Qt web page (http://doc.qt.nokia.com/latest/deployment.html and http://doc.qt.nokia.com/latest/deployment-x11.html ) and assumed that it's no possible to deploy for Linux using Qt Creator and I need to install the Qt Framework (using this tutorial: http://doc.qt.nokia.com/latest/install-x11.html ) and build Qt statically to create a stand-alone executable.
So, following all my assumptions, I got stuck with Qt Framework installation.
After run the @./configure@ command the /usr/local/Trolltech/Qt-4.7.2 directory hasn't been created as the tutorial told it has to. The only message I could identify as a error message in shell was that:
@Basic XLib functionality test failed!
You might need to modify the include and library search paths by editing
QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in /tmp/qt-everywhere-opensource-src-4.7.3/mkspecs/linux-g++.@
I really appreciate some help here. Actually, I'm not sure if my assumptions are totally right and if they are, I don't know how to solve the Qt installation problem.
You need to install the x11 libs under ubuntu.
I was following this list "Libs list ":http://developer.qt.nokia.com/wiki/Compile_Qt_4.7_on_Ubuntu_10.10
That cured the problem in my case.
Is it possible to create an application independent of any external library?
I managed to compile my application against the static Qt libraries but is still depends on many others.
Yes and No.
First of all I am not an expert on operation systems. Therefore, I have only the limited overview of a user. The libraries you are dependent on, which are typically not linked to your application, should be OS dependent libraries. They build the processing interface to the different OS functions you require.
The additional dynamic link libs, I guess that are the libs you are referring to, make the applications executable more independent to the actual version of the OS. They provide some independency to change between different Windows, like XP, 7, Vista and also between different Linux systems.
Without those dlls you would need to compile the application for every individual installation.
There are also licensing issues involved you have to consider. They are also applying to Qt libs. There has been a discussion in another thread on this:
"Static library linking":http://developer.qt.nokia.com/forums/viewthread/5798/#34583
There you find following response:
[quote author="Volker" date="1305037670"]Have a look at the tag search, please:
The base line (I'm not a lawyer!) is, that you most probably have to GPL your code if you do static linking (except in case you use commercial license, of course).[/quote]