在构建一个静态链接到 qt 库的 qt 应用程序之后,我正在尝试构建一个独立的 qt 应用程序(基于 ubuntu 并部署在 Red Hat 5.3 上)我试图在 red hat 上运行该程序并得到一个错误说未找到 libc.so.6 并且未安装和需要 GLIBC_2.9 或 GLIBC_2.10。我尝试执行 yum install glibc 但随后我收到一条消息说 glibc 是最新的(我认为它的版本是 2.5) 我想我将重新启动构建过程,但这次是从红帽安装。你建议我在这种情况下应该怎么做。我的目标是构建一个只需要在 red hat 5 上运行的独立 qt 应用程序(我很确定 fontconfig.so 也会有问题,但我可以直接在与应用程序相同的目录中提供这个库)
问问题
1002 次
1 回答
2
您正在尝试在 Linux 上制作可移植的二进制文件?我知道有两种方法。
首先,可以说是技术上正确的方法,但也很痛苦,可能不值得花时间:使用 LSB SDK 编译 Qt 和您的应用程序。(或者,如果 LSB 中的 Qt 版本对您来说足够新,则只需使用 LSB SDK 编译您的应用程序。)
其次,务实的方法:在一台机器上编译 Qt 和你的应用程序,并使用你打算支持的最旧版本的 glibc。例如,不要在 ubuntu 上编译并在 redhat 上部署,而是尝试相反的方式。
如果您需要支持广泛的 glibc 或其他系统库,您可能必须多次编译并分发多个二进制文件。
于 2010-03-19T02:30:40.223 回答