Ubuntu下Qt项目的部署
部署涉及到以下内容:
1. 程序执行文件;
2. 动态链接库;
3. Qt的一些插件(plugins),例如图片插件(imageformats),数据库插件(sqldrivers);
4. 其他资源文件,包括qss、Images、.qm文件等等;
下面通过举例来说明部署问题:
例子:
SmartHome.sh
#!/bin/sh
cd /home/user/Project
appname=`basename $ | sed s,\.sh$,,`
dirname=`dirname $`
tmp="${dirname#?}"
if [ "${dirname%$tmp}" != "/" ]; then
dirname=$PWD/$dirname
fi
LD_LIBRARY_PATH=$dirname/lib
export LD_LIBRARY_PATH
export QT_PLUGIN_PATH=$dirname/plugins
$dirname/$appname $*
其中,可执行文件名与上述脚本文件名(SmartHome)是一样的。
Step1:切换到可执行文件的目录下,例子中是cd /home/user/Project
Step2:设置LD_LIBRARY_PATH 路径地址,程序会自动在这个地址下查找动态库、静态库;例子中的LD_LIBRARY_PATH设置为 $PWD/lib ;
Step3:设置QT_PLUGIN_PATH 路径地址,程序会自动在这个地址下搜索插件,找不到插件的话会加载失败,例如图片不能显示,数据库无法打开等等问题就会随之而来!
sudo apt-get install libphonon-dev libphonon4 phononbackend-gstreamer
另外,项目的环境部署一般都是以脚本的形式进行,所以编写脚本很重要,这是我们都得去掌握的知识!
项目中尽量不使用联网部署,需要联网部署时,也应该写在脚本当中。
Ubuntu下Qt项目的部署的更多相关文章
- Ubuntu下 QT添加外部链接库(.so文件)示例
		
参考:https://blog.csdn.net/KKALL1314/article/details/81915354 https://forum.qt.io/topic/80301/file-not ...
 - Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法
		
Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法 最近由于老师要求要在Ubuntu下QT上进程多线程服务器的开发,虽然只是单纯的调用qt的network模块,但是为了避免麻烦,我 ...
 - Ubuntu下Zabbix服务器监控工具部署
		
Ubuntu下Zabbix服务器监控工具部署 一 安装安装Apache.Mysql.Php.zabbix sudo apt-get update sudo apt-get install apache ...
 - Ubuntu下Qt(Retex)无法输入中文
		
这个问题从我第一次在Ubuntu上使用Qt便困扰着我,奈何之前一直没认真去解决掉这个问题.今天作死想想,这个不可能解决不掉的.因为那么多人用Ubuntu,而且又那么多人用Qt的产品,比如Retext. ...
 - ubuntu下nginx+php5的部署
		
ubuntu下nginx+php5环境的部署和centos系统下的部署稍有不同,废话不多说,以下为操作记录:1)nginx安装root@ubuntutest01-KVM:~# sudo apt-get ...
 - ubuntu下Qt cannot find -lGL错误的解决方法 (转载)
		
在ubuntu下使用Qt 编译时候遇上了cannot find -lGL错误,使用命令 sudo apt-get install libqt4-dev或者sudo apt-get install li ...
 - 关于ubuntu下qt编译显示Cannot connect creator comm socket /tmp/qt_temp.xxx/stub-socket的解决的方法
		
今天在ubuntu下安装了qtcreator,准备測试一下能否用.果然一測试就出问题了,简单编写后F5编译在gnome-terminal中出现 Cannot connect creator comm ...
 - 关于ubuntu下qt编译显示Cannot connect creator comm socket /tmp/qt_temp.xxx/stub-socket的解决办法
		
今天在ubuntu下安装了qtcreator,准备测试一下是否能用,果然一测试就出问题了,简单编写后F5编译在gnome-terminal中出现 Cannot connect creator comm ...
 - django下进行项目的部署
		
-------------------Django下进行对应的服务器配置1.服务器购买 本人在阿里云购买了一个服务器,操作系统为windows server2008/Linux(ubuntu) 2.服 ...
 
随机推荐
- 滚动条响应鼠标滑轮事件实现上下滚动的js代码
			
<script type="text/javascript"> var scrollFunc=function(e){ e=e || window.event; if( ...
 - map和lambda
			
同事问我python里,比如一个列表: a = ['1', '2', '3'] 如何变成: b = ['1x', '2x', '3x'] 好吧,果断不知道-原来pthon中有map函数,查看帮助文档: ...
 - 应用mysql(Linux中安装)
			
当前 mysql 官网的安装教程,指明可以使用 yum 方式. 若在Ubuntu中安装,参考“Linux(Ubuntu)下MySQL的安装与配置”. MySQL YUM Repository MySQ ...
 - Struts2 Tomcat的配置
			
1. 下载Struts2包,网站http://struts.apache.org/download.cgi#struts2315 2. 将struts-2.3.15-all.zip 包解压到本地 3. ...
 - BZOJ 3872 Ant colony
			
Description There is an entrance to the ant hill in every chamber with only one corridor leading int ...
 - BZOJ 1036 树的统计
			
Description 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w.我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把结点u的权值改为t II. Q ...
 - [BZOJ 1833] [ZJOI2010] count 数字计数 【数位DP】
			
题目链接:BZOJ - 1833 题目分析 数位DP .. 用 f[i][j][k] 表示第 i 位是 j 的 i 位数共有多少个数码 k . 然后差分询问...Get()中注意一下,如果固定了第 i ...
 - KeilC51使用详解 (一)
			
第一节 系统概述 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上.结构性.可读性.可维护性上有明显的优势,因而易学易用.用过 ...
 - 利用低成本的MCU的UART驱动智能卡
			
在银行.身份识别和电信市场中,对安全和增强的功能性不断增长的需要,增加了全球范围智能卡的使用.另一方面,这也使得对安全性较低的磁条卡的使用量下降. 然而,所需的基于智能卡系统中,适当的通信系统的硬件和 ...
 - Android Wear开发 - 卡片通知 - 第二节 : 自定义Wear卡片样式
			
一.前言说明 在上一节添加Android Wear通知特性我们实现了简单的Android Wear卡片拓展,但是默认提供给我们的多张卡片只能实现简单的文字展示,如果想要自定义布局,添加图片等等,则需要 ...