Statlic linking of Qt and C++ libraries
I’m writing a program using Qt and libstd++. target machine probably does not have any of them installed. I would like to statically link all Qt and other c++ libraries used in my application. Adding CONFIG += static into the .pro file didn’t help.
Yes download the qt-everywhere source tarball from here [qt.nokia.com]. Then extract it somewhere, configure it with something like:
- ./configure -static -prefix $HOME/development/qt-static-4.7.2
Then make and make install as per usual.
Once that is done, simply use the version of qmake that gets installed rather than the system-supplied qmake. You can do this by editing your $PATH environment variable to pick up your new qmake first or you could set up and alias or just use the full path to it.
Ok, I’m unable to compile Qt ! my download failed last day (when I moved my notebook from university to home :-( and I have to redownload it.
Currently I have installed qt-sdk 64-bit version from repositories. Is there a way to link shared libraries like as static libraries? I also have to compile a 32-bit program :-) I’m looking for a way to avoid download and compile…
There are header files in /usr/include/qt4 directory. But there are no any configuration or make or even source codes. I don’t know if they are correct sources or not, or if I will be able to revert them to previous state or not. think there are just headers and compiled libraries included in packages.
I’m going to download the source code.
Thanks you :-)
If you download the SDK beta (and I think also RC) the structure is changed :-)
You have the headers without links, no sources inside. You can also download / install the sourc4s with the installer, but it is different from the pure source package where the include files from include point to the sources dir.
To rebuild Qt, you now have to download the real source zip or tar file.