【发布时间】:2020-06-16 04:46:58
【问题描述】:
最近我们计划将 glib 库升级到最新版本:2.64
我们已经构建了库并尝试在我们的构建基础架构中使用它。在运行构建时,我们遇到了错误:-
error: 'g_mem_chunk_alloc0' is deprecated
error: 'g_mem_chunk_free' is deprecated
error: 'g_mem_chunk_alloc' is deprecated
error: 'g_atexit' is deprecated
我们如何在较新的 glib 版本中找到那些已弃用的函数的替换?
【问题讨论】:
-
在您的问题中显示一些minimal reproducible example。解释为什么你需要使用
g_mem_chunk_alloc0代替calloc或malloc,以及g_memchunk_free代替free。考虑使用atexit(3)。您的问题是特定于操作系统的。 -
这些符号正在从新的 glib 库中使用。旧版 glib 库版本支持这些符号,而新版本则不支持这些符号......所以我们面临着被弃用的函数错误。对于那些不推荐使用的函数,应该有一些新 glib 的替换函数。我无法从 glib 文档中找到该信息。因此,如果可以得到一些帮助,请在此处发布。
-
您仔细阅读documentation of Glib了吗?它是开源的,所以你研究过它的源代码吗?根据 LGPLv2.1 许可证,您可以根据自己的需要改进 Glib
-
Jussi,但是上面的链接没有明确的信息,比如替换 'g_mem_chunk_free' 是某某功能...我们如何才能找到确切的信息?我应该将 g_slice_alloc 视为 g_mem_chunk_alloc 的替代品吗?
标签: compilation glib