我对 Linux 和 Clang 比较陌生,我无法让 Clang 3.4 工具链正确确定 libstdc++ 库的位置。我正在运行 Mint 17,安装了 Clang-3.4 并安装了 GCC 4.8。使用详细标志,输出如下所示:
#include "..." search starts here:
#include <...> search starts here:
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/x86_64-linux-gnu/c++
/usr/local/include
/usr/bin/../lib/clang/3.4/include
/usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/include
/usr/include/x86_64-linux-gnu
/usr/include
End of search list.
test.cpp:1:10: fatal error: 'iostream' file not found
#include <iostream>
搜索停止一个子文件夹,它看起来像所有 libstdc++ 标头都存在(在 /c++/4.8 中)。我使用包管理器卸载并重新安装 gcc、clang、llvm 和所有依赖项。我还尝试使用 apt-get 使用 cli 重新安装。
我在这个问题上看到的大多数答案都围绕着更改 /FrontEnd/InitHeaderSearch.cpp 文件以查找 libstdc++ 内容的正确位置,但这在我的机器上不存在。而是,locate -b InitHeaderSearch
没有找到任何结果。
除了从源代码构建 clang 和 llvm 之外,我还能如何更改 clang 在哪里寻找库?
谢谢你。