[Qt-interest] How to do a static linking

Dedy Yasriady dedy.yasriady at id.panasonic.com
Thu Feb 17 02:43:33 CET 2011


Hi Plato,

 

Qt documentation mentions about static linking by recompiling the Qt it
self.

In my computer, it takes very long time to finish.

Aside, statically linking will make the application bloat.

Rather than do static linking, why not try to search for dependency
files and make bundle with your program.

Jus simple type

 

$ ldd myprogram

 

======================================================

In my linux environment, yield me such follow:

 

[yasriady at LinuxBox release]$ ldd Dictionary

        linux-gate.so.1 =>  (0x00eeb000)

        libcrypto.so.6 => /lib/libcrypto.so.6 (0x04e63000)

        libQtGui.so.4 => /opt/qtsdk-2009.05/qt/lib/libQtGui.so.4
(0x00eec000)

        libQtCore.so.4 => /opt/qtsdk-2009.05/qt/lib/libQtCore.so.4
(0x0027c000)

        libpthread.so.0 => /lib/i686/nosegneg/libpthread.so.0
(0x00b65000)

        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x03507000)

        libm.so.6 => /lib/i686/nosegneg/libm.so.6 (0x00b36000)

        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00244000)

        libc.so.6 => /lib/i686/nosegneg/libc.so.6 (0x009eb000)

        libdl.so.2 => /lib/libdl.so.2 (0x00b5f000)

        libz.so.1 => /usr/lib/libz.so.1 (0x00b7f000)

        libgthread-2.0.so.0 => /lib/libgthread-2.0.so.0 (0x05d73000)

        librt.so.1 => /lib/i686/nosegneg/librt.so.1 (0x00dda000)

        libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0x00101000)

        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00cb8000)

        libgobject-2.0.so.0 => /lib/libgobject-2.0.so.0 (0x001a1000)

        libSM.so.6 => /usr/lib/libSM.so.6 (0x00df3000)

        libICE.so.6 => /usr/lib/libICE.so.6 (0x00206000)

        libXrender.so.1 => /usr/lib/libXrender.so.1 (0x00d89000)

        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00d3a000)

        libXext.so.6 => /usr/lib/libXext.so.6 (0x00ca6000)

        libX11.so.6 => /usr/lib/libX11.so.6 (0x00ba1000)

        /lib/ld-linux.so.2 (0x009cd000)

        libexpat.so.0 => /lib/libexpat.so.0 (0x00d66000)

        libXau.so.6 => /usr/lib/libXau.so.6 (0x00b94000)

        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00b99000)

 

 

Then just look at files begin with libQt*.so.*, in my sample give us 2
files.

Copy this files to your program_dir, or into library files search path.

 

        libQtGui.so.4 => /opt/qtsdk-2009.05/qt/lib/libQtGui.so.4
(0x00eec000)

        libQtCore.so.4 => /opt/qtsdk-2009.05/qt/lib/libQtCore.so.4
(0x0027c000)

 

=========================================================

 

Thank you and regards,

Ddy

 

________________________________

From: qt-interest-bounces+dedy.yasriady=id.panasonic.com at qt.nokia.com
[mailto:qt-interest-bounces+dedy.yasriady=id.panasonic.com at qt.nokia.com]
On Behalf Of Plato P.B.
Sent: Tuesday, February 15, 2011 7:57 PM
To: qt-interest at qt.nokia.com
Subject: [Qt-interest] How to do a static linking

 

Hi,
I have completed one project. And its using openssl, qca, and qca-ossl.
how can i build it statically so that it can be executed without any
problems  in any systems. Like now I have build the application in
linux. (ubuntu x64)

But if i try to run the application in any other systems, it will not
simply work. It is showing cannot execute binary files! :(

-- 






Thanks & Regards,

Plato P.B.
obscurant1st.biz/blog <http://obscurant1st.biz/blog> 
coolfacts.in <http://coolfacts.in> 

B'Lore.  ( +919844882641)
Kerala.  ( +919037036661)

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.qt-project.org/pipermail/qt-interest-old/attachments/20110217/25003ab5/attachment.html 


More information about the Qt-interest-old mailing list