【IT专家】Qt程序发行Linux版,软件打包知识(patchelf 工具修改依赖库,确认 qmake
Linux系统的软件包管理工具介绍

Linux系统的软件包管理工具介绍在Linux系统中,软件包管理工具扮演着至关重要的角色,它们能够帮助我们方便地安装、更新、卸载和管理系统中的软件包。
本文将为您介绍几种常见的Linux系统软件包管理工具。
I. dpkgdpkg是Debian系统中的软件包管理工具,它负责安装、更新、卸载和管理软件包。
通过使用dpkg,您可以轻松地将软件包安装到系统中,并可以使用dpkg的命令参数来管理软件包,如dpkg -i安装软件包、dpkg -r卸载软件包等。
II. APTAPT(Advanced Package Tool)是Debian系统中的高级软件包管理工具,它使用dpkg来处理软件包。
APT提供了一组命令,如apt-get、apt-cache等,这些命令能够实现自动处理软件包的依赖关系、自动下载并安装相关的软件包等功能。
例如,通过使用apt-get install命令,您可以指定要安装的软件包名称,APT将自动解决软件包的依赖关系,并下载并安装相关的软件包。
III. RPMRPM(Red Hat Package Manager)是Red Hat、CentOS等Linux发行版中的软件包管理工具。
RPM用于安装、升级、查询和卸载软件包,并提供了一组命令行工具,如rpm、yum等。
使用rpm命令,您可以通过rpm -i安装软件包、rpm -e卸载软件包等来管理软件包。
而yum命令则是RPM包管理器的高级工具,它可以自动解决软件包的依赖关系,从软件源下载并安装相关的软件包。
IV. ZypperZypper是openSUSE和SUSE Linux Enterprise发行版中的软件包管理工具。
它是基于RPM的,类似于yum。
Zypper提供了一组命令,如zypper install、zypper remove等,用于安装、升级、卸载软件包。
Zypper还具备一些特殊功能,如能够处理滚动更新(即系统不需要重启即可更新)和处理软件仓库中的软件包等。
在Linux操作系统上进行Qt开发

在Linux操作系统上进行Qt开发随着计算机科学和技术的迅速发展,软件开发在我们日常生活中扮演着越来越重要的角色。
而在软件开发领域中,Qt框架是一个备受推崇的选择。
1. 简介Qt是一种跨平台的应用程序开发框架,可以在Linux、Windows和Mac等操作系统上进行开发。
它提供了丰富的工具和库,使开发者能够轻松构建出跨平台的应用程序。
2. Linux操作系统Linux是一种自由开源的操作系统,它以其稳定性和安全性而闻名。
对于Qt开发来说,Linux提供了一个理想的开发环境。
2.1 安装Qt首先,我们需要在Linux操作系统上安装Qt。
可以从Qt官方网站下载适用于Linux的Qt安装程序,并按照提示进行安装。
2.2 配置开发环境安装完成后,我们需要配置Qt开发环境。
在终端中输入以下命令,将Qt添加到系统路径中:```export PATH=$PATH:/path/to/qt/bin```这样,我们就能够在任何位置运行Qt开发工具。
3. Qt开发工具Qt提供了一系列开发工具,使我们能够高效地进行软件开发。
3.1 Qt CreatorQt Creator是一个集成开发环境(IDE),具有代码编辑、调试和构建等功能。
它提供了一个直观的界面,使我们能够轻松创建和管理项目。
3.2 Qt DesignerQt Designer是Qt的可视化界面设计器,可帮助我们设计GUI界面。
它提供了丰富的界面组件和布局工具,使我们能够快速创建出漂亮的界面。
4. Qt应用程序的创建和编译在Qt Creator中,我们可以创建一个新的Qt项目。
选择适当的项目模板,并按照向导的指示进行配置。
在项目中,我们可以使用C++或Qt自身的脚本语言QML进行编码。
在代码编写完成后,我们可以使用Qt Creator进行编译和构建。
它会自动处理依赖关系,并生成可执行文件。
5. 调试和测试在Qt Creator中,我们可以使用调试器进行调试。
它提供了断点、变量监视和堆栈跟踪等功能,帮助我们追踪和修复程序中的错误。
linuxdeployqt 编译

linuxdeployqt 编译Linuxdeployqt是一个用于将Qt应用程序打包为AppImage的工具。
它能够将所有依赖项打包进一个独立的可执行文件中,从而使应用程序更加易于分发和安装。
以下是使用Linuxdeployqt编译应用程序的步骤:1. 安装所需的依赖项在使用Linuxdeployqt之前,需要安装一些必要的依赖项。
这些依赖项包括Qt库、CMake和Git等。
具体的安装过程请参考操作系统的官方文档或其他相关教程。
2. 下载Linuxdeployqt可以从Linuxdeployqt的官方网站或GitHub页面下载最新版本的源代码。
下载完成后,解压缩文件并进入解压缩后的目录。
3. 编译Linuxdeployqt在Linuxdeployqt的解压缩目录中,运行以下命令进行编译: ```mkdir buildcd buildcmake ..make```编译完成后,在build目录中将生成一个名为linuxdeployqt的可执行文件。
4. 打包应用程序将应用程序文件放置在一个空的目录中,并将应用程序的依赖项复制到该目录中。
然后,在该目录中运行以下命令:```/path/to/linuxdeployqt ./myapp -appimage```其中,/path/to/linuxdeployqt是linuxdeployqt可执行文件的路径,./myapp是应用程序的目录。
该命令将在当前目录中生成一个名为myapp-x86_64.AppImage 的文件,这是一个独立的可执行文件,包含了所有的依赖项。
5. 运行应用程序将生成的AppImage文件复制到需要运行应用程序的计算机上,并通过以下命令运行应用程序:```chmod +x myapp-x86_64.AppImage./myapp-x86_64.AppImage```应用程序将在计算机上独立运行,并且不需要安装任何其他依赖项。
总结使用Linuxdeployqt可以将Qt应用程序打包为独立的可执行文件,从而使应用程序更加易于分发和安装。
关于Linux安装QT问题发问

关于Linux安装QT问题发问
Linux安装QT:让你的生活更加丰富多彩
随着科技的发展,越来越多的人开始使用Linux系统,而QT是Linux系统上的一款强大的跨平台应用程序开发框架,它可以帮助用户快速开发出功能强大的应用程序。
本文将介绍如何在Linux系统上安装QT,让你的生活更加丰富多彩。
首先,你需要准备一台安装了Linux系统的电脑,并且确保你的电脑上安装了必要的软件,比如GCC编译器、make工具等。
其次,你需要从QT官网上下载QT的安装包,并将其解压到指定的目录下。
接着,你需要打开终端,进入到QT安装包所在的目录,然后输入./configure 命令,这样就可以开始安装QT了。
安装完成后,你可以使用QT Creator来创建你的应用程序,QT Creator是一款功能强大的集成开发环境,它可以帮助你快速开发出功能强大的应用程序。
此外,QT还提供了一系列的图形界面开发工具,可以帮助你快速开发出美观的图形界面。
最后,你可以使用QT的调试工具来检查你的应用程序,确保它能够正常运行。
总之,安装QT 可以让你的生活更加丰富多彩,你可以利用它开发出功能强大的应用程序,让你的生活更加便捷。
linuxdeployqt32位

linuxdeployqt32位Linux Deploy Qt是一个用于在Linux操作系统上部署Qt应用程序的工具。
它可以帮助您自动处理Qt应用程序的依赖关系,并将其打包为一个可独立运行的可执行文件。
对于32位系统,您需要使用适用于32位系统的Linux Deploy Qt版本。
以下是一般步骤,用于在32位Linux系统上使用Linux Deploy Qt部署Qt应用程序:1.确保您已经安装了适用于32位系统的Qt库和编译器。
您可以从Qt官方网站下载并安装适用于32位系统的Qt版本。
2.下载适用于32位系统的Linux Deploy Qt工具。
您可以在GitHub上找到该工具的源代码或预编译的二进制文件。
3.将您的Qt应用程序的可执行文件和所有相关的资源文件复制到一个新的文件夹中。
4.打开终端,并导航到包含您的Qt应用程序的文件夹。
5.运行Linux Deploy Qt工具,指定您的应用程序的可执行文件作为参数。
例如,如果您的可执行文件名为myapp,则可以运行以下命令:bash./linuxdeployqt-x86 myapp注意,上述命令中的linuxdeployqt-x86是适用于32位系统的Linux Deploy Qt工具的可执行文件名。
确保您使用正确的文件名。
6. Linux Deploy Qt将扫描您的应用程序的依赖关系,并将所需的Qt库和其他依赖项复制到与您的应用程序相同的文件夹中。
7. 完成后,您应该能够在没有安装Qt库的计算机上运行您的应用程序。
只需将整个文件夹复制到目标计算机上,并运行可执行文件即可。
请注意,上述步骤是一般性的指导,并且可能会因您的特定设置而有所不同。
确保根据您的实际情况进行调整,并参考Linux Deploy Qt的文档以获取更详细的说明和选项。
patchelf 编译

patchelf 编译
`patchelf` 是一个用于修改 ELF 可执行文件的工具,它可以改变程序的入口点、动态链接器、二进制格式等。
如果你想编译 `patchelf`,你可以按照以下步骤进行:
1. 获取源代码:首先,你需要获取 `patchelf` 的源代码。
通常,你可以从项目的官方网站或存储库中下载源代码。
2. 编译环境准备:确保你的系统上安装了编译 `patchelf` 所需的依赖项。
这可能包括 `gcc`、`binutils`、`libelf` 等。
3. 编译:在源代码目录下,执行适当的编译命令来编译 `patchelf`。
具体的命令可能因不同的操作系统和源代码版本而有所不同。
一般来说,可以使用如下命令:
```sh
./configure
make
```
如果一切顺利,上述命令将会生成可执行文件 `patchelf`。
4. 安装(可选):如果你想将 `patchelf` 安装到系统的标准位置,可以使用适当的安装命令。
例如,在许多 Linux 发行版上,可以使用以下命令:
```sh
sudo make install
```
请注意,具体的编译步骤可能会因 `patchelf` 的版本和你的操作系统而有所不同。
如果遇到问题,建议查阅 `patchelf` 的官方文档或相关社区论坛以获取更具体的帮助。
Linux 下编译、安装、配置 QT

3、这就是本文用的方法,就是下载源码包,自己编译安装,最为麻烦,但是本来就是学习的,况且现在只能下载到源码包,那就先学习这种方法把。
软件下载QT有好几个下载网站,这里汇总介绍,自从诺基亚公司放弃Meego、遣散Qt开发团队以后,Qt商业版本的网站移到了,而开源版本则放到了 :1、首先是诺基亚的官方网站/这个是不太方便的,想快速下载的接着看后面的。
此网站需要填写用户名和邮箱地址,下载地址会发送到邮件里,我就把我收到的地址贴出来吧。
下面是邮件中的地址汇总。
这里面的linux源码是commercial版本。
Qt 4.8.4 for embedded Linux/developer/download/qt-everywhere-commercial-sr c-4.8.4.tar.gzInstalling Qt for embedded Linux/doc/qt-4.8/qt-embedded-install.htmlQt Commercial Charts 1.1.0/developer/download_charts/qt-commercial-charts-src-1.1.0.tar.gzQt 5.0.0 Sources/developer/download_50/qt-everywhere-commerci al-src-5.0.0.tar.gzQt 4.8.4 for Windows (Src and VS2008 32bit Binary)/developer/download/qt-win-commercial-4.8.4-vs2 008.exeQt Visual Studio Addin 1.1.11 for Qt4 (Binary)/developer/download/qt-vs-addin-1.1.11.exeQt 4.8.4 for Windows (Src and VS2010 32bit Binary)/developer/download/qt-win-commercial-4.8.4-vs2 010.exeQt 4.8.4 for Windows (Src and MinGW 32bit Binary)/developer/download/qt-win-commercial-4.8.4-min gw.exeQt Creator 2.6.1 for Windows (32bit Binary)/developer/download_creator/qt-creator-win-comm ercial-2.6.1.exeQt 4.8.4 for Windows (Src and VS2010 64bit Binary)/developer/download/qt-win-commercial-4.8.4-vs2 010-64bit.exeQt Commercial Charts 1.1.0/developer/download_charts/qt-commercial-charts-src-1.1.0.zipQt 5.0.0 Sources/developer/download_50/qt-everywhere-commerci al-src-5.0.0.zipQt 5.0.0 Offline SDK for Windows (32-bit Binary)/developer/download_50/qt-windows-commercial-5.0.0-msvc2010_32-x86-offline.exeQt Visual Studio Addin 1.2.0 for Qt5 (Binary)/developer/download_50/qt-vs-addin-1.2.0.exe2、QT-project网站下载/downloads这个网站就直接而且清晰多了,分类很清楚,如下图所示。
解决Ubuntu下使用linuxdeployqt打包Qt程序问题

解决Ubuntu下使⽤linuxdeployqt打包Qt程序问题写了点Qt界⾯程序,然⽽发现很难移植到其他没有安装Qt环境的电脑上运⾏。
查资料了解到,在windows上有windowsdeployqt程序,linux上有linuxdeployqt可以帮助我们快速打包。
1. 配置Qt环境⾸先,我们先把Qt环境配置好,在~/.bashrc中加⼊:export PATH=/home/xl/Qt5.9.2/5.9.2/gcc_64/bin:$PATHexport LD_LIBRARY_PATH=/home/xl/Qt5.9.2/5.9.2/gcc_64/lib:$LD_LIBRARY_PATHexport QT_PLUGIN_PATH=/home/xl/Qt5.9.2/5.9.2/gcc_64/plugins:$QT_PLUGIN_PATHexport QML2_IMPORT_PATH=/home/xl/Qt5.9.2/5.9.2/gcc_64/qml:$QML2_IMPORT_PATH其中/home/xl/Qt5.9.2/5.9.2/⽬录要根据⾃⼰电脑上安装的Qt路径进⾏修改。
然后执⾏sourec ~/.bashrc使配置⽣效。
2. 编译linuxdeployqt虽然有放出编译好的包,但是由于我使⽤的是Ubuntu18,系统版本过⾼,因此还是选择编译代码的⽅式。
为了避免编译好的包运⾏时检测到我们的系统版本过⾼,不继续执⾏的问题,我们编译前,将tools/linuxdeployqt/main.cpp中的下述代码注释掉:// openSUSE Leap 15.0 uses glibc 2.26 and is used on OBS/*if (strverscmp (glcv, "2.27") >= 0) { //注释版本检查qInfo() << "ERROR: The host system is too new.";qInfo() << "Please run on a system with a glibc version no newer than what comes with the oldest";qInfo() << "currently still-supported mainstream distribution (xenial), which is glibc 2.23.";qInfo() << "This is so that the resulting bundle will work on most still-supported Linux distributions.";qInfo() << "For more information, please see";qInfo() << "https:///probonopd/linuxdeployqt/issues/340";return 1;}*/然后就可以使⽤cmake和make进⾏编译。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本文由我司收集整编,推荐下载,如有疑问,请与我司联系Qt程序发行Linux版,软件打包知识(patchelf 工具修改依赖库,确
认qmake
2017/06/02 449 patchelf 工具可以修改已编译运行程序的依赖库位置和指定库链接器
patchelf --set-rpath
patchelf --set-interpreter
通过这个工具https://github/probonopd/linuxdeployqt如果自己编译不了,也可以下载现成的
https://github/probonopd/linuxdeployqt/releases
运行./linuxdeployqt-2-x86_64.AppImage ShanbayDict 并为成功,生成的lib目录下的so文件很少。
运行./linuxdeployqt-2-x86_64.AppImage ShanbayDict -appimage 也未成功,但lib 生成了很多so文件
使用patchelf --set-rpath /opt/Qt-5.7-static/lib/:./lib ShanbayDict 修改rpath后,ShanbayDict可以独立运行了,连同lib一起拷贝到新安装的Ubuntu 16.04系统中,也能运行了。
ldd ShanbayDict 显示,rpath已经指向./lib目录
patchelf可以通过sudo apt installpatchelf 安装
2017年2月24日
Qt 5.8编译的Qt程序
设置环境变量,确认qmake -v 是自己使用的Qt版本,如果不是,解决办法是:
export PATH=/home/lieefu/Qt5.8.0/5.8/gcc_64/bin:$PATH
创建qml目录,把/home/lieefu/Qt5.8.0/5.8/gcc_64/qml 目录下用到的模块复制过来,我的app用到了三个QtQuick、QtQuick.2、QtMultimedia。
增加plugin中platforminputcontexts 包括libfcitxplatforminputcontextplugin.so文。