linuxqt程序发布
❶ 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打包发布,dirname :not found
cat fileTest.sh 查看打包目录位置,然后修改,或者./fileTest.sh --help 查看脚本的使用方法。
❸ linux下qt程序应该怎么发布程序有没有什么发布工具
比如你的可运行程序取名叫作panel,那把你的panel,那些libQt*.so.4和libQt*.so.4.6.0(链接和共享库都要)放在同一目录下(也可以不同,只要小小修改下shell文件).plugins就不多说了。
在程序的同目录下,新建一个空文档,取名panel.sh (文件名与程序名同名,扩展名为sh,shell文件)。
在panel.sh中原封不动的写入以下语句:#!/bin/shappname=`basename $0 | sed s,\.sh$,,`
dirname=`dirname $0`
tmp=${dirname#?}
if [ ${dirname%$tmp} != / ]; then
dirname=$PWD/$dirname:$LD_LIBRARY_PATHfiLD_LIBRARY_PATH=$dirname
export LD_LIBRARY_PATH
$dirname/$appname $*
保存文件,退出。在终端给文件+x属性: 切换到程序的目录,输入
chmod +x panel.sh
然后运行shell文件就行了(确保panel程序具备X属性),它会自动更改环境变量,运行程序。
如果要调试shell文件,只需要在终端输入:
❹ linux下如何进行Qt编程
不知您使用的是哪个Linux,Ubuntu(Den类)中的最为容易,可以在软件中心直接下载,然后在终端输入
$sudo apt-get install qdevelop
之后就可以在Qt上进行软件开发了
如果在Fedora中(Redhat类),首先要查一下Qt软件依赖的文件,先将依赖的软件包安装后即可安装Qt
可以参考这本书
C++ GUI Programing with Qt4 (2nd edition)
中文名叫
C++ GUI Qt4程序设计
❺ linux发布qt程序怎么这么复杂
1、首先创建根目录,再将Qt编译后的可执行文件放在目录上。
2、其次目录下创建一个脚本文件,可以给其可执行权限命令为,执行脚本文件。
3、最后继续执行可执行文件会出现错误,将文件夹放到没有Qt环境的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保存退出即可
❼ 请问Qt软件在linux系统中如何打包移植
一、准备
busybox 1.14.1
qt-embedded-linux-opensource-src-4.5.1
tslib 1.4
gcc version 4.3.2 (Sourcery G++ Lite 2008q3-72)
构建一个新的根文件系统目录,路径为
/root/rootfs
二、具体步骤:
1、编译安装busybox
在官网下载最新版。可以参考如下几处要修改的地方:
Busybox Settings ---> Build Options ---> (arm-linux-)Cross Compiler prefix
Busybox Settings ---> Installation Options --->[]Dont't use /usr
Busybox Settings ---> Installation Options --->(/root/rootfs) BusyBox installation prefix
Busybox Settings --->Busybox Library Tuning --->[*] Fancy Shell prompts
输入如下命令,编译并安装。
# make;make install
2、编译安装tslib
# ./autogen.sh
# ./configure -prefix=/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/usr/ -host=arm-linux ac_cv_func_malloc_0_nonnull=yes
# make;make install
安装目录指明为 /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/usr/
主要是为了在编译QTE时,不用指定tslib的头文件和库文件,方便以后程序开发。
注意:在做这一步前,需要做一个目录链接
在/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/usr/目录下
# ln -s ../../usr/include ./
3、编译安装QTE
1)、最基本的配置
# ./configure -prefix /usr -embedded arm -xplatform qws/linux-arm-g++ -depths 16 -qt-mouse-tslib
-prefix /usr 使用这个配置,编译后的QTE库文件即可放在目标文件系统的/usr/lib下,而不是默认/usr/local/Trolltech/QtEmbedded-4.5.1 这个很深的目录
2)、编译
# make
# cp lib/* /root/rootfs/usr/lib -rd 将QTE库文件拷贝到根文件系统的目录
# cp plugins /root/rootfs/usr -rd 将QTE插件目录拷贝到根文件系统的目录
4、根文件系统的设置
1)、这时/root/rootfs/usr下应该有 bin etc include lib sbin目录
tslib生成的etc目录,包含一个tslib的配置文件 nf,编辑此文件,去掉mole_raw input前的注释
# mv etc ../ 移动到rootfs的根目录
2)、进行一次清理操作
#arm-linux-strip lib/*.so
#arm-linux-strip usr/lib/*.so
3)、编辑etc/profile,添加以下内容
export QWS_MOUSE_PROTO=Tslib:/dev/event0
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_TSDEVICE=/dev/event0
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=/etc/nf
export TSLIB_PLUGINDIR=/usr/lib/ts
最后,通过mkyaffs2image 制作镜像,烧写镜像,启动ts_calibrate校验触屏即可。
❽ linux下Qt怎么在Forms上面add new
安装好之后,打开QT Creator
新建工程 File => New File or Project..
选择Projects => Empty QT4 Project
输入工程名, Name, 例如 Hello
储存位置Creat in, 例如 D:\QT\Sample\
按下Next, 这里刚开始学习,只要默认即可,一路Next下去,最后Finish
这时, QT Creator自动创建一个Hello.pro文件
打开此Hello.pro文件
写入
TARGET = hello
TEMPLATE = app
SOURCES += main.cpp
然后右键Hello工程名, 选择菜单 Add New
选择 C++ => C++ Source File, 按下OK
输入源文件名Name: main.cpp
打开main.cpp, 写一个简单的Hello world程序吧
#include <QApplication>
#include <QLabel>
int main(int argc,char *argv[])
{
QApplication app(argc,argv);
QLabel *label=new QLabel("Hello world!");
label->show();
return app.exec();
}
按下菜单 Build => Run编译运行
2.debug和release
让我们打开文件夹D:\QT\Sample\ 看看吧
除了工程文件hello.pro和源文件main.cpp, 又多了好多文件和文件夹
这些都是临时文件和编译文件, 试一下,删除这些文件和活页夹
只留下两个hello.pro和main.cpp
打开QT Creator, 选择菜单 File => Open File or Project
选择hello.pro文件, 打开
然后编译运行, 又出现了一大堆文件
其中还有两文件夹debug和release
打开文件夹debug, 你会发现hello.exe和main.o
而release文件夹中是空的
选择菜单 Build => Set Build Configuration 子菜单有debug和release
这是两种编译模式, 点选release再编译, 就会在release文件夹中产生编译后的文件
你会发现release比debug文件更小,
因为debug中包含了除错调试代码,而release没有
当你的程序正式发布的时候,需要选择release
❾ 请问linux下的Qt程序如何发布
用系统自带的MHDD工具,里边有密码清除工具。网有它的用法。