c++ - 停止针对 GLIBC 将 strftime 转换为 __strftime_l 的链接

标签 c++ c glibc musl

我有一个通常使用 GLIBC 构建和执行的应用程序。我的一位用户正在尝试在使用 MUSL C 库(声称与 GLIBC 兼容)构建的平台上使用它。

这样做时,他们会遇到 __strftime_lldd 符号解析失败,MUSL 实现了该符号,但实际上并未导出为外部可见符号。

有没有办法阻止针对 GLIBC 的应用程序构建,将诸如 strftime_l() 之类的函数转换为 __ 前缀版本,例如 __strftime_l() code> 在运行时解析的符号表中?

最佳答案

MUSL C library (which claims to be GLIBC compatible).

来自musl FAQ :

Is musl compatible with glibc?
... At present, some glibc-linked shared libraries can be loaded with musl ...
all but the simplest glibc-linked applications will fail if musl is dropped-in in place of /lib/ld-linux.so.2

如果您想支持 musl,请针对它构建(并测试)应用程序的单独版本。您和您的用户都会对最终结果感到更加满意。

关于c++ - 停止针对 GLIBC 将 strftime 转换为 __strftime_l 的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59455122/

相关文章:

c++ - 矩形类

c++ - 客户端程序中的 glewInit() 和 GLEW_ARB_xxx_ 失败

C++ 入门第 5 版函数模板特化

c - 移植glibc 2.25并测试内存功能

c - 需要一种优化堆使用的方法 C - Freebsd/glibc

linux - 在 PT_GNU_STACK 程序头上设置执行位时,为什么进程的所有段都变为可执行

.net - 如何在 Visual C++ .net 中将一个项目从一个列表框转移到另一个

c - C 中以零开头的引脚

c - 什么 C 库允许缩放巨大的图像?

c++ - 停止失控的 Lua 子进程