【问题标题】:clang++ cant find file <iterator>clang++ 找不到文件 <iterator>
【发布时间】:2013-02-25 05:23:57
【问题描述】:

我正在尝试使用 clang 编译我的 c++ 项目(使用带有 boost 的 g++)。我已经使用 clang 工具链成功编译了 boost-libraries (1.53)。我正在使用 CMake 编译我的项目,编译失败并出现以下错误。

In file included from /home/dilawar/Works/hpc21/bliff/BlifParserAndPartitioner/src/expression_graph.h:21:
/usr/local/include/boost/graph/graph_traits.hpp:14:10: fatal error: 'iterator' file not found
#include <iterator>
         ^
1 error generated.

我将-stdlib=libc++ 传递给编译器。我不确定应该安装哪个软件包(ubuntu)来安装 libc++。我的机器上安装了 clang 和 llvm。

我必须下载并编译 libc++ 还是在安装 clang 时自动安装?

【问题讨论】:

  • 你可以在使用'-v'标志编译时发布编译器的输出。例如clang++ -v -stdlib=libc++ test.cpp。这将显示 clang 正在搜索哪些目录以查找包含的文件。
  • @AdityaKumar 使用 -v 开关不会改变输出。我正在使用 cmake。它可能正在过滤由 clang++ 产生的一些输出。以为我在 cmake 中打开了 VERBOSE_MAKEFILE。
  • 你解决过这个问题吗?

标签: libc++ clang++


【解决方案1】:

当您传递 -stdlib=libc++ 时,clang 驱动程序会在不同的位置查找头文件 目录w.r.t.当你不通过标志时。您必须单独安装 libc++。 libc++ 网页 (http://libcxx.llvm.org/) 有一些关于如何使用 CMake 安装 libc++ 的详细信息。

此网页也可能有用: http://marshall.calepin.co/llvmclang-and-standard-libraries-on-mac-os-x.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-14
    • 2014-01-02
    • 2020-02-16
    • 1970-01-01
    • 2015-04-29
    • 2015-02-14
    • 2017-01-20
    • 1970-01-01
    相关资源
    最近更新 更多