Linux Qt UI 界面在本地一次编译后,可在任何发行版上运行。

本文探讨如何实现C/C++的Qt界面应用在Linux上一次编译后,能在不同发行版上运行。主要内容包括解决Qt库的依赖问题、处理Qt界面寻找X/plugins/platform文件夹的需求,以及参考Qt论坛上的解决方案,利用LD_LIBRARY_PATH和QT_PLUGIN_PATH环境变量。文章旨在提供一个无副作用的部署策略。
摘要由CSDN通过智能技术生成

这篇文章是由https://blog.csdn.net/herehear/article/details/101448176衍生出来的。

主旨是C/C++版的一次编译,到处运行。

有了前面的基础后,现在可以着手把Qt开发的界面也做到一次编译,到处运行。

这篇文章本质上是没有新技术难点的,主要是解决一些Qt运行时的一些问题。

在前一篇文章的样例中,编译libsimple.so时,指定了其rpath选项 使其在运行过程中能够根据不同环境找到libsimple.so的依赖库。

但是现在存在两个问题

  1. Qt库有相当一部分没有使用rpath选项,这就使得我们必须重编源码或者自定LD_LIBRARY_PATH选项。重编源码无疑是费时费力的,但是LD_LIBRARY_PATH又是有副作用的(比如此环境变量会遗传给所有后代子进程)。
  2. UI可执行程序在运行过程中会去寻找一个叫X/plugins/platform的文件夹,所以必须连同此文件夹一起放进安装包中,并且指定此文件夹的路径:

export QT_PLUGIN_PATH=X/plugins/platform。

在Qt论坛上有一个提问者

使用LD_LIBRARY_PATH和QT_PLUGIN_PATH两个环境变量解决这两个问题并提供了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值