Linux下发布QT程序
概述
无论在windows下还是在linux下,可执行程序的运行都依赖于相关的运行库,我们需要将依赖的库找到放到特定的位置,让可执行文件能够找到。在不知道可执行文件依赖哪些库时,有时可以让它自己告诉你,例如直接运行程序会输出缺少的库名,执行ldd命令查看可执行文件的依赖库。
所以发布程序就是将必要的文件放到指定的位置,并修改某些系统配置。
我发布的环境为X86下的ubuntu 10.04-desktop。
QT程序依赖的库
在linux中,一般依赖的库会放在/usr/lib目录中,查找libQt*会显示与Qt相关的库。有些库我们的程序不需要,我们可以在命令窗口中运行程序,它会输出因为缺少哪些库而不能运行,缺少的库在/usr/lib中找到,拷贝过去即可。
例如我的程序提示依赖libQtGui.so.4、libQtNetwork.so.4、libQtCore.so.4和libaudio.so.2这4个库。将这4个库拷贝过去,然后进入/usr/lib,执行如下命令:
ln -slibQtGui.so.4.6.2 libQtGui.so.4
ln -s libQtNetwork.so.4.6.2 libQtNetwork.so.4
ln -slibQtCore.so.4.6.2 libQtCore.so.4
ln -s libaudio.so.2.4 libaudio.so.2
程序即可运行。
QT中的QImage
我的程序中使用到了QImage,程序可以正常运行,但图片不能加载。网上查找资料说QImage需要依赖plugins。对于plugins我不了解也不知道QT的安装目录(通过apt-get install安装的qt),所以我全局搜索plugins文件,选择在x86环境下的plugins。我拷贝的plugins目录在/usr/lib/qt4/目录下。将整个文件夹拷贝到目标机子上,然后将其导出。
我的操作如下:
Plugins目录拷贝到/usr/local/下;
编辑/etc/profile,在文件的最后加入如下两行:
export LD_LIBRARY_PATH=/usr/local/plugins/imageformats:$LD_LIBRARY_PATH
export QT_PLUGIN_PATH=/usr/local/plugins
发布结束
发布完成后运行程序,一切正常。
分享到:
相关推荐
qt程序在linux下发布,特别是QT5的程序发布,解决这个错误,Failed to load platform plugin “xcb”. Available platforms are: Aborted(core dumped)
Qt程序在linux下发布,需要建立软连接等
目录Linux下的QT程序打包,发布流程Ⅰ. 打包流程1.编译2.使用ldd命令查看和导出需要的库3.编写执行程序的sh文件4.运行程序5.打包发布Ⅱ. 为程序添加快捷方式,图标,启动器启动Ⅲ. 碰到的问题#1 普通用户能正常运行...
Linux下打包发布QT程序,并运行在其他没有安装QT环境或多个QT环境的linux系统上
解决Qt5在麒麟Linux下不能输入中文的问题,需要了解fcitx并安装fcitx的插件库到应用程序中并启动fcitx。Fcitx是 (Free Chinese Input Toy for X) 的英文缩写,中文名为小企鹅输入法,是一个以 GPL 方式发布的输入法...
QT程序在Linux下的打包发布操作,文档里面附有脚本程序。
QtCreater工具Linux开发的程序发布相比于Windows下发布较麻烦,该手册经过实践的证明,供大家参考。
release要发布程序b) 通过`windeployqt`打包3)方法二 — 发布成独立的可执行exe文件a) 下载工具b) 打包4)方法三 — 打包成安装包发布a)通过Inno Setup工具打包b)通过Advanced Installer工具打包3.Linux下的...
去年我使用Qt编写串口通信程序时,将自己的学习过程写成了教程(Qt编写串口通信程序全程图文讲解),但是由于时间等原因,我只实现了Windows下的串口通信,并没有去做Linux下的。自从教程发布到网上后,就不断有人...
程序发布后在客户手中出现异常崩溃,但自己测试又不能复现问题,要是能捕获到异常时相关信息就很好定位问题了。 资源中包含Qt mingw编译程序crash信息捕捉和跟踪方法说明,以及测试程序代码。
自从1996 年Qt 被Trolltech 公司发布以来,该系统成为世界上很多成功的图 形用户应用所使用的主要系统。更为重要的是,Linux 操作系统的桌面环境系统KDE 也是 基于Qt 构造的。目前,Qt 已经提供了对包括MS/Windows、...
本串口助手在windows平台上使用QT Creator开发,使用QT5.61,串口助手功能仿真正点原子串口助手XCOM_V2.0,功能丰富,文件中不仅有源代码,还有发布的动态库程序,以及打包的程序,可以在不安装QT便可运行,作为学习QT...
守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某 种任务或等待处理某些发生的事件。守护进程是一种很有用的进程。...本文将给出Linux下守护进程的编程要点和详细实例。
教你怎么打包QT程序,别设置打包后发布程序的图标
前言Qt是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用...2014年4月,跨平台集成开发环境QtCreator3.1.0正式发布,实现了对于iOS的完全支持,新增WinRT、Beautifier等插件,废弃了无Python接口的GDB调试支持
使用教程请参考博客:https://yongqi.blog.csdn.net/article/details/125841736
Linux项目是一个开放源代码的操作系统项目,由林纳斯·托瓦兹(Linus Torvalds)于1991年首次发布。该项目以Linux内核为核心,围绕其构建了一个完整的操作系统,包括各种系统工具、库、应用程序和硬件支持。 以下是...
Linux项目是一个开放源代码的操作系统项目,由林纳斯·托瓦兹(Linus Torvalds)于1991年首次发布。该项目以Linux内核为核心,围绕其构建了一个完整的操作系统,包括各种系统工具、库、应用程序和硬件支持。 以下是...
Linux项目是一个开放源代码的操作系统项目,由林纳斯·托瓦兹(Linus Torvalds)于1991年首次发布。该项目以Linux内核为核心,围绕其构建了一个完整的操作系统,包括各种系统工具、库、应用程序和硬件支持。 以下是...
Linux项目是一个开放源代码的操作系统项目,由林纳斯·托瓦兹(Linus Torvalds)于1991年首次发布。该项目以Linux内核为核心,围绕其构建了一个完整的操作系统,包括各种系统工具、库、应用程序和硬件支持。 以下是...