首页 > 后端开发 > C++ > 为什么不能在 C 0x 模式下用 libc clang 链接这个 boost::program_options 示例?

为什么不能在 C 0x 模式下用 libc clang 链接这个 boost::program_options 示例?

DDD
发布: 2024-11-03 04:41:30
原创
659 人浏览过

Why can't clang   with libc   in C  0x mode link this boost::program_options example?

在 C 0x 模式下将 Boost::Program_Options 与 Clang 和 Libc 链接

问:为什么不能在 C 0x 模式下 clang 与 libc 链接此 boost ::program_options 示例?

尝试时出现报告的问题在 C 0x 模式下使用 clang 和 libc 编译并链接示例 boost::program_options 示例。编译成功,但链接遇到多个未定义的符号,导致链接器错误。

A: 用 Clang 和 Libc 重建 Boost

要解决这个问题,有必要使用 clang 和 libc 标准库重建 boost 库。以下步骤概述了该过程:

  1. 卸载现有的 boost:删除任何以前安装的 Boost 库以避免冲突。
  2. 下载 Boost 源: 从官方网站获取最新版本 Boost 的源代码(例如, boost.org).
  3. 配置 Boost: 执行以下命令来配置 Boost 以使用 clang 和 libc 进行构建:
./b2 toolset=clangcxx --with-libraries=program_options \
  --with-cflags="-stdlib=libc++" --with-ldflags="-stdlib=libc++"
登录后复制
  1. 构建并安装Boost:使用以下命令构建并安装Boost库:
./b2 install
登录后复制

使用 libc 重建 Boost 后,使用 clang 与 libc 标准库重新编译并链接 boost::program_options 示例应该会成功,并且不会出现之前遇到的未定义符号错误。

以上是为什么不能在 C 0x 模式下用 libc clang 链接这个 boost::program_options 示例?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板