2025.05 現在、Clang++ が iostream を見つけられない。
iostream だけではなく C++ 標準ヘッダが参照できないようで。
まあバグだろうからすぐ修正されるだろう。
で、先日 CommandLineTools の更新通知がきた。
これで修正されて、って同じヤン。
15.4 から 15.5 にアップデートされてはいる。
小数点の無い MacOSX15.sdk は小数点付きへのリンクなのか。
アップデートに追従するみたいだから今後はこっち指定に。
ちなみにルートを Finder で開くには、端末を起動して。
open /
でイケます、GNOME の Linux なら gio open / ですね。
別にホームから command+up してもいいですけど、脱線でした。
そんなこんなで、ビルド毎に -I オプションなんてメンドイぞ。
なのでエイリアスを作ることに、修正されたら消せばいいだけだ。
~/.zshrc を開いて、作ってない人は作成して。
alias clang2="clang++ -I /Library/Developer/CommandLineTools/SDKs/MacOSX15.sdk/usr/include/c++/v1"
名前は各自適当に、筆者は clang2 にしました。
普通にビルドできるようになりました。
ヘッダの場所は環境によって違うかもなので各自調べてね。
ついでに、clang 17 や gcc 15 は C++23 もいくつか対応なのね。
#include <print> /** * clang2 -std=c++23 cc23.cpp * g++ -std=c++23 cc23.cpp */ int main (int argc, char const* argv[]) { /** * println なら改行付き、いらないなら print */ std::println("最高な{0}は{1}です", "カメラレンズ", "パナライカ"); return 0; }
Java と C# のいいとこどりみたいなことしやがって。
でも思うんだ、名前空間の区切りはドットでよくね?
コンパイラの実装状況 – cpprefjp C++日本語リファレンス
凄いサイトがあるもんだ。