首页 > 后端开发 > C++ > 正文

为什么在 C 0x 模式下使用带有 libc 的 Clang 时 Boost::Program_Options 无法链接?

Barbara Streisand
发布: 2024-11-03 20:08:29
原创
993 人浏览过

Why Does Boost::Program_Options Fail to Link When Using Clang with libc   in C  0x Mode?

为什么在 c 0x 模式下使用 clang 和 libc 时 boost::program_options 无法链接?

尽管使用 clang 和 libc 库编译 boost,但代码在 c 0x 模式下使用 clang 时链接失败。这是因为 libc 与 gcc 的 libstdc 不二进制兼容。虽然 std::string 的 API 保持不变,但它的 ABI 使用 C 11 的内联命名空间功能进行了修改,导致链接器将 std::string 和 std::__1::basic_string 视为不同的数据结构。这会阻止二进制文件和库之间的成功链接。

以上是为什么在 C 0x 模式下使用带有 libc 的 Clang 时 Boost::Program_Options 无法链接?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!