如何解决C++23中fatal error: 'print' file not found错误?
解决MacOS下C++23 std::print编译报错问题
问题根源
MacOS自带的Command Line Tools中的Clang属于Apple分支,目前尚未支持C++23的<print>头文件及std::print/std::println函数,即便更新到最新版本也无法使用这些特性。
可行解决方案
方案一:安装官方LLVM Clang替代自带编译器
- 若未安装Homebrew,先完成Homebrew安装(可通过官方渠道获取安装脚本)
- 安装最新版LLVM:
brew install llvm - 编译代码时指定使用LLVM的clang++:
/usr/local/opt/llvm/bin/clang++ -std=c++2b your_code.cpp -o your_program - (可选)将LLVM的bin目录加入系统PATH,后续可直接用
clang++命令:echo 'export PATH="/usr/local/opt/llvm/bin:$PATH"' >> ~/.zshrc source ~/.zshrc clang++ -std=c++2b your_code.cpp -o your_program
方案二:使用现有兼容特性替代
如果不想更换编译器,可以用C++标准库中已支持的输出方式替代:
#include <iostream> int main() { std::cout << "Hello everyone!\n"; std::cout << "Hello again!\n"; return 0; }
内容的提问来源于stack exchange,提问作者appelflap796
相关产品推荐
相关产品推荐

