linux程序发布(linux打开程序命令)

大家好,如果您还对linux程序发布不太了解,没有关系,今天就由本站为大家分享linux程序发布的知识,包括linux打开程序命令的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

linux下qt程序应该怎么发布程序

1、linux下复制qt release模式生成的可执行文件到桌面的新建目录。

2、编写脚本文件ldd.sh作用:导出可执行程序运行时所需要的库文件点击下载。

3、执行./ldd.sh+可执行程序在当前的文件夹下生成lib文件。复制lib下的库文件与可执行文件同级目录。

4、到Qt安装目录里找到platform文件夹我的目录是/opt/Qt5.7.0/5.7/gcc_64/plugins/platforms复制此文件夹与可执行文件同级目录。

5、复制ldd.sh到platforms文件夹内,执行./ldd.sh libqxcb.so将生成的lib目录下的库文件拷贝至可执行文件同级目录。删除platforms里的lib文件。

6、执行下载到的脚本文件./app.sh

注:app.sh与可执行文件同名。在windows下写的脚本文件在linux下使用是出现/bin/bash^M: bad interpreter:没有那个文件或目录解决办法

vim打开脚本文件:set ff?显示 ff=dos修改成:set ff=unix:wq保存退出即可

linux程序打包发布linux程序打包

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

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

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

说明:

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

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

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

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

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

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

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

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

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

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

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

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

linux怎么打包包文件?

Linux系统可以通过命令tar来打包包文件。

普通电脑可以安装unix和linux么

普通电脑可以安装unix和linux。但是安装过程比较负责,很有可能出错。

困难的地方通常有两点:

其一是图形窗口系统的配置,由于笔记本电脑设计的特殊性,显卡往往与主板等组件集成在一起,不容易在安装过程中自动识别并配置好;

其二是作为网络适配器的PCMCIA卡:以太网卡和Modem拨号卡。

UNIX系统是商业化操作系统,而Linux是开源免费的操作系统,同时是基于UNIX的类UNIX操作系统。UNIX只能运行在特定的硬件上,比如苹果OS X,只能运行在苹果系列产品上。而Linux是开源系统,有更多的人去开发LINUX的硬件驱动,它可以运行在大多数的硬件上。

扩展资料

需要注意的是:LINUX系统对于家庭用户,操作不够友好,有一定的门槛要求,Linux发行版本众多并且会使用LINUX的人相对较少,在出现问题时维护成本较高。

UNIX系统对硬件有定制要求,而Linux系统虽然支持大多数硬件,但是易用性差,同时对于UNIX和LINUX的图形应用开发较少,没有形成面向普通用户的生态,所以说UNIX和LINUX最起码段时间不能应用到家庭电脑。

UNIX系统UNIX系统一般应用在对稳定性要求较高的生产环境,同时UNIX不能运行到大多数的硬件环境上,比如 Sun Solaris、FreeBSD、IBM AIX、HP-UX等是基于UNIX开发的类UNIX系统,大部分只能运行在特定的服务器硬件上。

阅读剩余
THE END