1

我已经将 Boost.Container 引入我的项目中,它jemalloc用作默认分配器,看起来像 Boots.Container 使用自定义分配器,dlmalloc当然,在链接时我在“多重定义”链接错误上失败,因为两个“XXXalloc”被引入目标文件。关闭“jemalloc”不是一种选择,但我找不到是否可以关闭dlmalloc使用。知道如何解决这个问题吗?

4

1 回答 1

0

实际上,Boost Container 99% 仅是标头。

文档将 DLMalloc 扩展列为扩展:https ://www.boost.org/doc/libs/1_73_0/doc/html/container/extended_allocators.html

这意味着您显然选择了扩展分配器。如果那不是您想要的,您知道要删除什么。

一个很好的提示是当您不需要链接 Boost Container 时,因为对导出的符号的快速检查并没有向我显示除分配器之外的任何我认识的东西。

于 2020-06-10T12:12:17.227 回答