Clang++ not seeing libc++
Clang++ not seeing libc++
我刚刚从https://github.com/llvm/llvm/llvm-project.git安装了clang 和libc 。尝试运行时:
clang main.cpp -stdlib=libc++ -lc++abi
其中 main.cpp
:
#include <iostream>
int main() {
std::cout << "main>" << std::endl;
}
我有一个错误:
main.cpp:1:10: fatal error: 'iostream' file not found
#include <iostream>
-v
选项的输出:
clang version 9.0.0 (https://github.com/llvm/llvm-project.git 40046bc8430f0b90d76cef9e6cc62ccc2abcb0b0)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
Found candidate GCC installation: /usr/bin/../lib/gcc/i686-linux-gnu/6
Found candidate GCC installation: /usr/bin/../lib/gcc/i686-linux-gnu/6.3.0
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/6
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/6
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/6.3.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6.3.0
Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0
Candidate multilib: .;@m64
Selected multilib: .;@m64
"/usr/bin/clang" -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -mrelax-all -disable-free -main-file-name main.cpp -mrelocation-model static -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -v -resource-dir /usr/lib/clang/9.0.0 -internal-isystem /usr/local/include -internal-isystem /usr/lib/clang/9.0.0/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -fdeprecated-macro -fdebug-compilation-dir /home/jakub/Documents/Programming/Projects/TraitNet/src -ferror-limit 19 -fmessage-length 93 -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -fcolor-diagnostics -o /tmp/main-48c930.o -x c++ main.cpp -faddrsig
clang -cc1 version 9.0.0 based upon LLVM 9.0.0svn default target x86_64-unknown-linux-gnu
ignoring nonexistent directory "/usr/lib/clang/9.0.0/include"
ignoring nonexistent directory "/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/local/include
/usr/include/x86_64-linux-gnu
/usr/include
End of search list.
main.cpp:1:10: fatal error: 'iostream' file not found
#include <iostream>
^~~~~~~~~~
1 error generated.
这可能与包含有关。我将libc++
安装到/usr/include
(例如,可以在/usr/include/c++/6/iostream
上找到iostream
)。有没有办法让clang知道文件的位置(iostream
不是它唯一抱怨的标题)?
我通过将正确的目录添加到Inclupl搜索路径来解决类似的问题。
此目录必须匹配LIBC 的版本。例如,如果您安装了软件包libc++10-dev
,则必须添加/usr/lib/llvm-10/include/c++/v1/
。
这是调用:
clang main.cpp -stdlib=libc++ -I/usr/lib/llvm-10/include/c++/v1/
如果您不确定要使用哪个文件夹,则可以使用find
来找到它:
$ find /usr/ -name iostream
/usr/include/c++/5/iostream
/usr/include/c++/7/iostream
/usr/include/c++/4.4/iostream
/usr/include/c++/8/iostream
/usr/include/c++/4.9/iostream
/usr/include/c++/10/iostream
/usr/include/c++/9/iostream
/usr/include/c++/4.8/iostream
/usr/include/c++/4.7/iostream
/usr/include/c++/4.6/iostream
/usr/lib/llvm-10/include/c++/v1/iostream
相关文章:
- 带有 -stdlib=libc++ 的 clang++ 9.0.1 找不到<optional>
- C++17 - 使用自定义分配器的节点提取/重新插入 - 适用于 clang++/libc++,但不适用于 libstd
- 安装 libc++ 时出现问题
- 尝试从头开始实现Leetcode的FizzBuzz多线程问题。收到"libc++abi.dylib: terminating"错误
- Eclipse CDT clang 工具链 - 无法从链接器选项中删除 stdlibc++,但可以添加 libc++,E
- 我可以在 ndk 中使用带有 libc++ 的实验性文件系统吗?
- E/libc++abi:终止于类型为google::protobuf::FatalException的未捕获异常
- libc++abi未定义符号:_ZTVN10__cxxabif120__si-class_type_infoE
- 在继承自 std::variant 的类上使用 std::visit——libstdc++ 与 libc++
- 在libc++和libstdc++之间的std::map上使用std::find时的实现差异
- 在clang的travis上使用不同的libc++版本
- MRB_THROW会导致libc++abi.dylib中的错误
- libc++:为什么流关闭后仍然很好
- 与libc相比,Gnu科学图书馆的性能较差
- 如何构建默认使用我自己的构建libc ++的clang?
- 使用 gperftools 的堆分析器来分析 libc malloc
- 如何将libc++与调试符号链接起来?
- libc++ 的 std::basic_string 的 16 字节对齐模式背后的原因是什么?
- libc++ 对 std::map/set::equal_range 的实现给出了意想不到的结果
- Clang++ not seeing libc++