大家好,今天小编关注到一个比较有意思的话题,就是关于linux打包教程学习的问题,于是小编就整理了3个相关介绍linux打包教程学习的解答,让我们一起看看吧。

  1. ubuntu下怎么打包写好的Qt程序?
  2. 在虚拟机linux环境下,出于源码备份的目的,需要将/home/src目录下的所有文件打包、压缩?
  3. 怎样把linux系统里的文件复制到xp系统桌面我是想打包?

ubuntu下怎么打包写好的Qt程序?

你可以参考SQLiteStudio这个Qt写的跨平台SQLite管理工具,它自己打包了依赖的Qt库,可以做到解压即用,兼容不同Linux发行版.道理其实跟Windows版Qt程序自带Qt库差不多.

linux打包教程学习-linux 打包
(图片来源网络,侵删)

编译前给连接器传一个参数:

说明:

linux打包教程学习-linux 打包
(图片来源网络,侵删)

-Wl 表示告诉编译器将后面的参数传递给链接器.

rpath是gcc的一个参数,当程序被加载时,会搜寻rpath目录,寻找共享库.

linux打包教程学习-linux 打包
(图片来源网络,侵删)

rpath添加的目录信息保存在可执行文件中.

$ORIGIN表示可执行文件所在的目录.

也就是运行时程序会先去自己所在的目录的lib里去加载依赖库,没有的话再去系统库里找.

如果你的程序在编译时没有传递rpath参数,那你也可以用patchelf来修改你程序的rpath:

注意:patchelf修改文件后再strip会导致文件损坏.

所以应该先用strip删除符号表缩小二进制文件,然后再用patchelf设置rpath.

题外话,Android上既没有glibc库,也没有库链接器ld-linux.so.3.

如果你要把Debian ARM(如树莓派Raspbian)上的软件放到Android上跑,你一样可以打包程序依赖的共享库,让程序也能跑在Android上,比如PHP:

也就是你把库链接器ld-linux-armhf.so.3和PHP依赖的库都放到/data/local/tmp/web/lib里,然后设置个别名,就能在Android的adb shell里运行树莓派的PHP了.

当然,你也可以用patchelf设置PHP的interpreter和rpath,效果差不多:

在虚拟机linux环境下,出于源码备份的目的,需要将/home/src目录下的所有文件打包、压缩?

tar -cjvf xxx.tar.bz2 /home/src把整个/home/src目录打包成,xxx.tar.bz2我在win下试过,用Haoya能打开linux源码库下载的tar.bz2格式文件。。

切记:这个参数f一定要放在最后面这一位,像-cjfv是不允许的

格式: tar 选项 文件目录列表

功能: 对文件目录进行打包备份

选项:

-c 建立新的归档文件

-r 向归档文件末尾追加文件

-x 从归档文件中解出文件

-O 将文件解开到标准输出

-v 处理过程中输出相关信息

-f 对普通文件操作

-z 调用gzip来压缩归档文件,与-x联用时调用gzip完成解压缩

-Z 调用compress来压缩归档文件,与-x联用时调用compress完成解压缩

怎样把linux系统里的文件***到xp系统桌面我是想打包?

比如要打包home下的abc文件夹tarzcvfabc.tar.gz/home/abc/打包好以后就是abc.tar.gz然后使用winscp下载到本机,或者在linux上装个lrzsz然后使用命令szabc.tar.gz就可以下载了

到此,以上就是小编对于linux打包教程学习的问题就介绍到这了,希望介绍关于linux打包教程学习的3点解答对大家有用。