gpt4 book ai didi

c++ - 共享对象静态链接到 boost program_options;申请链接共享

转载 作者:太空宇宙 更新时间:2023-11-04 12:52:37 25 4
gpt4 key购买 nike

我正在开发一个静态链接我们的 boost 依赖项的库,这样我们就不必担心与用户发生冲突。

我们的图书馆静态链接

  • 日期_时间
  • 系统
  • 线程
  • 正则表达式
  • 文件系统
  • 程序选项

然后我们有一个可执行文件,它也需要 program_options 和动态链接。

当我们运行可执行文件时,我们得到了双重释放。

我们可以采取不将我们的代码链接到 program_options 的解决方案,实际上我们不需要这样做,但我想知道为什么会发生这种情况以及如何防止它继续发生。

答案是“不要将您的库与 boost 静态链接起来”吗?如果是这样,那么存在什么样的策略来确保我的 boost 和你的 boost 一起发挥作用?如果答案是“有一些 boost 库不应该是静态的”那么有没有列表?

最佳答案

在构建 boost 时,我能够通过使用 GCC 的 -fvisibility=hidden 解决双重释放问题。

有关详细信息,请参阅:

关于c++ - 共享对象静态链接到 boost program_options;申请链接共享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48264034/

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