我正面临着一个奇怪的问题。我开发了Qt/C++应用程序。直到昨天,我的开发机器和目标机器都在运行Ubuntu20.04。
昨天,为了运行一个特定的软件,我不得不将开发机器升级到21.10。不幸的是,这破坏了我的可执行文件的兼容性:
./MyProject: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ./MyProject)
./MyProject: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by ./MyProject)
./MyProject: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by ./MyProject)我不能:
所以,我想知道我是否可以在21.10中安装20.04的系统库,并告诉QtCreator使用这个或那个库集,就像Qt版本一样。
发布于 2022-03-02 13:45:49
从带外升级一个应用程序从来都不是一个好主意,特别是在glibc方面。
对于构建工具,处理该问题的最佳方法是使用Docker容器。
降级是一种选择,但需要一个干净的安装,升级到21.10是不需要重新命令的,因为20.04是实际支持良好的发行版,21.10是在EoL附近。
发布于 2022-03-02 18:13:16
以临时释放为目标是不切实际的。
为了简化工作流,您必须在开发机器和客户端机器上使用长期支持版本。
目前最新的是LTS是20.04 LTS,你已经知道了。
此外,您还可以等待2022年4月,然后在22.04LTS上瞄准这两台机器。这将允许在2027年前完美地使用您的应用程序。
https://askubuntu.com/questions/1395568
复制相似问题