繁体   English   中英

在 Ubuntu 18.04 上编译 Qt 程序,它将在 Ubuntu 14.04 上运行

[英]Compile Qt program on Ubuntu 18.04 which will run on Ubuntu 14.04

有趣的德莱玛。

尝试编译 Qt 程序,其中 Qt 是在 18.04 64 位上从源代码构建的,并在 14.04 上运行。 有趣的部分是试图找出我需要这个时间,这库。 C++ ABI 已更改。

想看看最近有没有其他人这样做过? 我必须携带哪些图书馆? 是的,我知道 ldd 和 readelf 并且已经在各种虚拟机中尝试了几天。 问题是一旦你开始引入 C++ 的东西(因为 ABI 再次改变了),你的 VM 将无法重新启动。

请不要推荐 snappy、flatpak 或其他新的“容器”解决方案之一。 已经在 snappy 上浪费了 3+ 天。 它是特定于架构的,并且在 Qt 方面仅支持在 14.04 上构建,至少用于制作 AppImage 的 deployqt 工具是这样。

几年前用这个程序做了这个。 构建了一个 debian,它可以安装在 64 位和 32 位上,适用于从 12.04 到 15.04 的每个版本,包括短暂的 .10 和奇数年版本。

我尝试使用 C++11 标准编译 QT,但是,它将不再使用该标准进行编译。

不兼容的 ABI 才是真正的杀手。

它不仅仅是一个程序,因此使用 LD_LIBRARY_PATH 破解 shell 脚本会带来相当大的困难。

欣赏见解。

谢谢你。

请始终在您仍希望应用程序运行的最旧发行版上开发应用程序。 例如,如果您希望您的应用程序在所有当前仍受支持的 Ubuntu 版本上运行,那么请在 Ubuntu 14.04 上开发您的应用程序,并且不要安装任何比它附带的更新的编译器或库。

这就是“向后兼容性”的工作原理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM