linuxqt发布
㈠ 如何将 linux+Qt 程序打包发布
qt程序动态打包步骤
1. 从可运行程序的文件中拿出可执行文件
2. 终端下使用ldd命令查看需要的连接库
例如 ldd + 可执行文件
3. 把ldd查询到的所有需要的库导出
4. 编写.sh文档(.sh文件命名必须与可执行文件名字一样例:可执行文件名 test, .sh 文件名为 test.sh)
.sh文件代码如下:
#!/bin/sh
appname=`basename $0 | sed s,\.sh$,,`
dirname=`dirname $0`
tmp="${dirname#?}"
if [ "${dirname%$tmp}" !="/" ]; then
dirname=$PWD/$dirname
fi
LD_LIBRARY_PATH=$dirname
export LD_LIBRARY_PATH
$dirname/$appname $*
5. 把所用到的库,可执行文件, .sh文件放到同一目录下
6. 终端中进入这一目录,输入:
chmod +x test.sh
7. 执行程序点击.sh文件或者终端输入:
./test.sh
㈡ Qt程序发布后,放在没有Qt的系统(Linux Redhat6.5)下运行,中文不显示,已经加了中文字库
有设置字体吗?
一般情况下在Qt安装目录的lib目录下面有字体文件,如果没有你可以从windows下面拷贝一个“微软雅黑”过去,然后在main.cpp中配置下app的字体,应该就可以显示了
#或者在配置启动脚本的时候设置字体路径
exportQTDIR=/usr/local/qt5
exportQT_QPA_FONTDIR=$QTDIR/lib/fonts
exportQT_QPA_PLATFORM_PLUGIN_PATH=$QTDIR/plugins/
exportLD_LIBRARY_PATH=$QTDIR/lib:/lib:/usr/lib:/opt/libxil/lib:$LD_LIBRARY_PATH
㈢ linux qt怎么开发安卓apk
不看好Qt for Android。以下简称QfA.
1. 跨平台只在pc上有优势,在移动设备上毫无优势。移动设备整体的应用风格需要保持一致,你外部加进来一个ui,倒是和平台保持一致了。你如何保持和原生ui的这种使用一致性。
2.在开发易用度上,Android(java) api 已经做得很好,包括事件,广播,服务等Qt里有的基本上Android api里已经做得很好,从Qt开发者转为java开发者也很容易。 而如果要写QfA应用,开发者不仅要懂Qt,同样也避免不了要写java代码。
3. 如果要写和其它app通信的时候,QfA的灾难性就来了。如果是上层的几乎等完整的搞一遍Android api吧。 另外对于和设备相关的一些调用(GPS/Telephony)等,QfA的工作量一下子就上来了,这时候你还指望qml么?
4.性能呢? QfA对于图形渲染区的请求还得在java的接口请求,是不是又要绕了个大弯。
5. 软件体积。 终端用户要用Qt app,势必要先装一个Qt lib, 或者在你的app 中一起静态发布。
在有很多优秀的QfA app出现之前,大家不带乐意只为一个好的app 去装一个大的软件,而会愿意选择一个原生软件替代。
㈣ linux发布qt程序怎么这么复杂
1、首先创建根目录,再将Qt编译后的可执行文件放在目录上。
2、其次目录下创建一个脚本文件,可以给其可执行权限命令为,执行脚本文件。
3、最后继续执行可执行文件会出现错误,将文件夹放到没有Qt环境的linux系统下也可以正常运行程序了。
㈤ 怎么使Qt发布的程序在非Qt环境的Linux下运行
首先,你开始提到,你装的是Qt5.3,并用它编译的程序。但是你提到的,你拷贝的都是Qt4.6的库
其次,你的开发机 和 目标机 CPU不同,程序是不能直接拷贝的,你需要的是交叉编译
再次,树莓软件仓库中应该有现成的 Qt,你应该可以直接用,直接在里面进行程序编译。
㈥ 怎么使Qt发布的程序在非Qt环境的Linux下运行
1、在Linux下的命令行编辑程序:
[root@localhost root]# mkdir hello
//mkdir命令创建一个hello目录
[root@localhost root]# cd hello
//cd命令切换到刚才创建的hello目录
[root@localhost hello]# vi main.cpp
//在hello目录中用vi创建一个main.cpp文件 将下面的代码输入到main.cpp文件中
#include <QApplication>
#include <QLabel>
int main(int argc,char *argv[])
{
QApplication app(argc,argv);
QLabel *label = new QLabel(“Hello Qt”);
Label->show();
return app.exec();
}
2、然后在命令行编译程序:
[root@localhost hello]# qmake –project
//执行qmake –project,因为目录是hello,因此在hello目录下生成一个与平台无关的项目文件hello.pro,
[root@localhost hello]# qmake hello.pro
//执行qmake hello.pro项目文件后,在hello目录下生成一个与平台有关的Makefile文件。
[root@localhost hello]# make
//执行make进行编译源代码,并生成main.o目标文件及hello执行文件。
[root@localhost hello]# ./hello
//执行hello,就会弹出Hello Qt窗口,到此说明成功了。
㈦ 请问linux下的Qt程序如何发布
用系统自带的MHDD工具,里边有密码清除工具。网有它的用法。
㈧ Linux下QT打包发布,dirname :not found
cat fileTest.sh 查看打包目录位置,然后修改,或者./fileTest.sh --help 查看脚本的使用方法。
㈨ 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保存退出即可