xeus-cling是目前最稳定、功能最全的c++ jupyter内核,支持c++11–c++20、交互式执行、stl调用与绘图;推荐用conda安装并避免pip或windows原生运行,首单元格需手动包含头文件和命名空间。

xeus-cling 是目前最稳定、功能最全的 C++ 内核方案,官方维护活跃,支持 C++11 到 C++20 标准,能直接执行表达式、定义变量、调用 STL、甚至做交互式绘图。其他方案(如 jupyter-c-kernel)只支持完整程序编译,不能交互,也不支持 C++。
用 conda 安装 xeus-cling(推荐)
这是成功率最高、依赖管理最干净的方式,尤其适合 Anaconda/Miniconda 用户:
- 创建独立环境避免污染主环境:
conda create -n cppenv python=3.10 - 激活后安装:
conda activate cppenv,再执行conda install -c conda-forge xeus-cling jupyterlab - 验证内核注册:
jupyter kernelspec list应该看到类似xcpp17或xcpp20的条目 - 启动:
jupyter lab或jupyter notebook,新建 Notebook 时选择对应 C++ 内核即可
注意:不要混用 pip 和 conda 安装 xeus-cling,会因 ABI 不兼容导致内核启动失败(常见报错:Kernel died, restarting 或 ImportError: libxxx.so: cannot open shared object file)。
为什么不用 pip install xeus-cling
xeus-cling 依赖 Cling 解释器(ROOT 项目的一部分),它本身是 C++ 编译产物,包含大量二进制组件。pip 包通常只提供源码或 wheel,但官方不发布预编译 wheel,pip 安装会尝试本地编译,极易失败:
- 需要完整 LLVM/Clang 构建链,耗时数小时
- 常见卡在
cc1plus: internal compiler error: Killed signal terminated program cc1plus(内存不足) - 即使编译成功,也常因链接路径错误导致运行时报
undefined symbol
所以除非你明确需要自定义构建参数,否则跳过 pip 方案。
组合式C++代码评审方案,融合静态分析、AI推理、多轮迭代评审和C++专项检查,适用于PR审查、增量代码审查、全项目评审和代码质量评分,触发词包括review cpp、cpp代码评审、C++review、代码审查。
Windows 用户必须走 WSL
原生 Windows 下 xeus-cling 官方不支持。试图在 CMD/PowerShell 中运行会直接报错:ModuleNotFoundError: No module named 'xeus' 或内核进程崩溃无响应。
- 唯一可靠路径:启用 WSL2,安装 Ubuntu 22.04+ 发行版
- 在 WSL 内使用 conda(非 Windows 版 conda),按上述 conda 步骤操作
- VS Code + Remote-WSL 插件可无缝连接 Jupyter Server,体验接近原生
别试 Chocolatey 或 MSYS2,它们无法满足 Cling 对 POSIX 环境和动态链接库加载顺序的严格要求。
第一个 C++ 单元格怎么写才不出错
和 Python 不同,C++ 内核默认不自动插入 #include <iostream></iostream> 或 using namespace std;,新手常因忘记而报错:
- 最简可运行代码:
#include <iostream> std::cout </iostream> - 想省略
std::前缀?加一行:using namespace std;(必须在#include后) - 要用
vector或sqrt()?记得分别加#include <vector></vector>和#include <cmath></cmath> - 定义函数后要调用,否则无输出;变量定义后需显式打印,不会像 Python 那样自动回显
容易忽略的一点:xeus-cling 支持多行语句,但每行仍需语法完整——比如 for (int i = 0; 单独一行会直接报错,不能靠下一行补全。
C++免费学习笔记(深入):立即使用
在学习笔记中,你将探索 C++ 的入门与实战技巧!










