【发布时间】:2020-12-09 21:37:27
【问题描述】:
我在 macos 中编译 HPX(一个高性能计算库),它使用 Boost。我正在使用带有介子的 clang 10 作为构建系统。使用 nm 转储库和应用程序二进制文件来检查符号,我发现它们之间存在一个字母的差异。我正在构建的应用程序,作为我学习路径的开始,是官方文档中的 HPX hello world 示例。
在libboost_filesystem-mt.dylib 中,符号是
__ZN5boost10filesystem6detail28directory_iterator_constructERNS0_18directory_iteratorERKNS0_4pathEjPNS_6system10error_codeE
在应用程序中它是
__ZN5boost10filesystem6detail28directory_iterator_constructERNS0_18directory_iteratorERKNS0_4pathEPNS_6system10error_codeE
唯一的区别是在libboost_filesystem-mt.dylib 中的损坏名称的path 部分之后添加了一个j 字符。为什么会发生这种情况,我该怎么办?这超出了我的知识范围,任何帮助将不胜感激。谢谢。
【问题讨论】:
标签: c++ clang boost-filesystem hpx