我有一个通常使用 GLIBC 构建和执行的应用程序。我的一位用户正在尝试在使用 MUSL C 库(声称与 GLIBC 兼容)构建的平台上使用它。
这样做时,他们会遇到 __strftime_l
的 ldd
符号解析失败,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/