不同的 Ubuntu 版本之间可以交叉编译吗?

不同的 Ubuntu 版本之间可以交叉编译吗?

真实案例:我有一台运行 Ubuntu 22.04 的开发机器。我的大多数客户都有一台专用的远程机器,也运行 Ubuntu,但版本不同 - 20.04、21.04 等...

我编写了 Qt 应用程序(它们是远程调试的),我发现即使 Qt 版本相同,二进制文件在不同的 Ubuntu 版本之间也不兼容。

问题:

  1. 我无法将所有远程机器升级到与我的开发机器相同的版本
  2. 我不想为每台目标机器都创建一个虚拟机(主要是因为我不喜欢在虚拟机中编写代码)
  3. 出于同样的原因,我会避免在远程机器上安装所有开发内容,并使用远程桌面应用程序进行远程编译

因此,我的标题问题是:是否可以针对不同的 Ubuntu 版本进行“交叉编译”?它可以解决我的问题:在我的本地机器上,我可以安装以前 Ubuntu 版本的库并为其目标构建每个 Qt 应用程序。

但我不知道这是否可能以及如何去做。

相关内容