我想要做的就是将我写好的程序可执行程序和需要的库放到一个目录下,其它用户解压开来直接可以使用。不用编译。但是我的程序用到qt以外的库,如下:该怎么办呢?
root@kangear:~# ldd /media/root/MYLINUXLIVE/SD-Flasher
linux-gate.so.1 => (0xb77c2000)
libQtGui.so.4 => /usr/lib/i386-linux-gnu/libQtGui.so.4 (0xb6cd3000)
libQtCore.so.4 => /usr/lib/i386-linux-gnu/libQtCore.so.4 (0xb69f1000)
libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xb6907000)
libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb68e9000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb673f000)
libfontconfig.so.1 => /usr/lib/i386-linux-gnu/libfontconfig.so.1 (0xb6707000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb66ec000)
libaudio.so.2 => /usr/lib/i386-linux-gnu/libaudio.so.2 (0xb66d2000)
libglib-2.0.so.0 => /lib/i386-linux-gnu/libglib-2.0.so.0 (0xb65d6000)
libpng12.so.0 => /lib/i386-linux-gnu/libpng12.so.0 (0xb65ad000)
libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xb6594000)
libfreetype.so.6 => /usr/lib/i386-linux-gnu/libfreetype.so.6 (0xb64fa000)
libgobject-2.0.so.0 => /usr/lib/i386-linux-gnu/libgobject-2.0.so.0 (0xb64a9000)
libSM.so.6 => /usr/lib/i386-linux-gnu/libSM.so.6 (0xb64a0000)
libICE.so.6 => /usr/lib/i386-linux-gnu/libICE.so.6 (0xb6486000)
libXi.so.6 => /usr/lib/i386-linux-gnu/libXi.so.6 (0xb6476000)
libXrender.so.1 => /usr/lib/i386-linux-gnu/libXrender.so.1 (0xb646c000)
libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xb6459000)
libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xb6323000)
libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb62f7000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb62f2000)
librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0xb62e9000)
/lib/ld-linux.so.2 (0xb77c3000)
libexpat.so.1 => /lib/i386-linux-gnu/libexpat.so.1 (0xb62c0000)
libXt.so.6 => /usr/lib/i386-linux-gnu/libXt.so.6 (0xb6264000)
libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xb6260000)
libpcre.so.3 => /lib/i386-linux-gnu/libpcre.so.3 (0xb6220000)
libffi.so.6 => /usr/lib/i386-linux-gnu/libffi.so.6 (0xb6219000)
libuuid.so.1 => /lib/i386-linux-gnu/libuuid.so.1 (0xb6212000)
libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xb61f0000)
libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xb61e9000)
root@kangear:~#
Qt
------解决方案--------------------
把其他的库也一起放进来
------解决方案--------------------
应该要把这些库和源码放在同一个目录下,重新指定编译链接库的位置,再重新编译。
------解决方案--------------------
在当前目录使用命令,export LD_LIBRARY_PATH=$(pwd), linux中强制设置当前目录添加到环境变量中,
pwd可以换成具体的路径。
其实思路就是让程序在当前目录寻找需要的库文件,如果写个脚本先执行上面命令再启动程序,就ok了,
如果软件需要发布,你还是研究静态连接吧
------解决方案--------------------