gpt4 book ai didi

linux - 减少 libstdc 和 libstdc++ 版本而不将构建服务器移动到旧操作系统

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:18:31 24 4
gpt4 key购买 nike

在使用比我的旧操作系统的目标机器上运行我的闭源应用程序时,我得到以下信息:

./myapp: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by ./myapp)
./myapp: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by ./myapp)
./myapp: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./myapp)

有什么方法可以降低所需的 libstdc 和 libstdc++ 版本,或者完全绕过此检查,而无需将我的构建服务器移动到旧操作系统(我觉得这很令人沮丧),也没有针对 libstdc 的静态链接(这似乎是被禁止的)通过许可)?

我已经查过了Linking against an old version of libc to provide greater application coverage ,但这仅解释了如何为某些特定符号执行此操作,而我需要为我的应用程序从 glibc 导入的每个符号执行此操作。

最佳答案

为了避免这些 undefined symbol ,您确实必须使用不同的 GCC 版本进行编译。

如果您不想降级到历史 GCC 版本,现在有几个发行版为旧发行版提供更新的 GCC 版本,例如带有工具链模块的 SUSE 和带有开发人员工具集的 Red Hat。这些编译器提供兼容的 ABI,因此与操作系统的集成相对轻松。

关于linux - 减少 libstdc 和 libstdc++ 版本而不将构建服务器移动到旧操作系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47448595/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com