带有 -stdlib=libc++ 的 clang++ 9.0.1 找不到<optional>

clang++ 9.0.1 with -stdlib=libc++ cannot find <optional>

本文关键字:找不到 gt lt optional -stdlib libc++ clang++ 带有      更新时间:2023-10-16

我使用的是带有clang++9.0.1的Manjaro Linux。

我正在测试C++17中的std::可选。当我在没有-stdlib=libc++的情况下编译时,测试cpp文件编译时不会出错。但是,如果我指定-stdlib=libc++,clang++会显示以下错误:

$ clang++ -std=c++17 --stdlib=libc++ test.cpp
test.cpp:4:10: fatal error: 'optional' file not found
#include <optional>
^~~~~~~~~~
1 error generated.

如果我需要用-stdlib=libc++编译它,你能告诉我该怎么办吗?提前感谢!

感谢@nathanoliver和@rian quinn。我发现自己太笨了——我还没有安装libc++。用sudo pacman -S libc++解决了这一错误。