【问题标题】:clang 3.1 with libc++on ubuntu 12.04, iostream not found在 ubuntu 12.04 上使用 libc++ 的 clang 3.1,找不到 iostream
【发布时间】:2012-08-16 01:25:19
【问题描述】:

我正在尝试使用 clang 编译一个 C++ 程序,我在此处使用打包版本安装了该程序 https://launchpad.net/~eudoxos/+archive/llvm-3.1。这是命令:

clang++   -std=c++11 -stdlib=libc++ -g -v -c main.cpp

我得到了这个结果:

ignoring nonexistent directory "/usr/include/c++/v1"
ignoring nonexistent directory "/usr/bin/../lib/clang/3.1/include"
ignoring nonexistent directory ""
ignoring duplicate directory "/usr/include/x86_64-linux-gnu"
#include "..." search starts here:
#include <...> search starts here:
/usr/local/include
/usr/include/clang/3.1/include
/usr/include/x86_64-linux-gnu
/usr/include

main.cpp:1:10: fatal error: 'iostream' file not found
#include <iostream>

如您所见,它没有在正确的包含目录 /usr/include/c++/4.6 中搜索。 但我认为问题远不止于此。即使我强制它在该目录中搜索,我也会得到:

In file included from main.cpp:1:
/usr/include/c++/4.6/iostream:38:10: fatal error: 'bits/c++config.h' file not found
#include <bits/c++config.h>

并且该文件在该区域中不存在。我在想可能缺少 libc++,但在我尝试从源代码编译 libc++(我怀疑这会起作用)之前,因为我找不到任何专用的 libc++ ubuntu 包,所以我希望你们能帮忙。

非常感谢!

【问题讨论】:

  • 只是一个更新,我最近切换到 Arch Linux 仍然有同样的错误,我正在使用来自 Arch extra repo 的 clang 3.1
  • 'Fedora19' 和同样的问题
  • @DanB91 我也遇到了同样的问题,你找到解决办法了吗?
  • 不幸的是,我认为我没有找到解决方案。我认为作为最后的手段,我尝试编译 libc++,这变得太麻烦了。我最终只是最终切换到 GCC。遗憾的是这个错误仍然是一个问题。抱歉,我无法提供更多帮助。但我建议您尝试编译 libc++,如果您想承担这项工作并在此处发回

标签: ubuntu clang libc++


【解决方案1】:

不幸的是,据我所知,您目前需要从源代码构建 libc++(可能还有 libc++abi)才能在 Linux 上使用 -stdlib=libc++ 和 clang。

【讨论】:

  • 对此有任何说明吗?
  • @JaredBurrows 这个评论很老了。如今,在大多数现代 Linux 发行版上,您应该能够通过包管理器安装 libc++
  • 感谢您的回复。我在使用 Clang 时遇到 TravisCI 问题。
  • @JaredBurrows 我明白了,是的,Travis 环境确实过时了:Ubuntu 12.04 LTS。那可能没有你想要的叮当声。但是,您应该能够在 .travis.yml 中从 LLVM dpkg 存储库安装 clang 和 libc++,遵循“精确”的说明:llvm.org/apt
  • 好的。我一直在尝试类似的东西,我已经轻松安装了 clang++-3.6,但我还需要安装 libc++。谢谢。
【解决方案2】:

sudo apt-get install -y clang-3.6 lldb-3.6 libc++-dev libc++abi-dev

https://gist.github.com/fyears/745da3cf6b19dbff3d0e

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-26
    • 1970-01-01
    • 2011-09-22
    • 1970-01-01
    • 2017-07-11
    • 1970-01-01
    • 1970-01-01
    • 2020-07-21
    相关资源
    最近更新 更多