jupyter | jupyter C++开发环境构建

news/2024/7/16 8:42:12 标签: jupyter, c++, ide

搭建环境

按照 https://root.cern.ch/cling-build-instructions 官网的提示,手动编译Cling编译器,分别检查llvm,clang和cling:

mkdir /path/to/cling
cd /path/to/cling
git clone http://root.cern.ch/git/llvm.git

cd llvm
git checkout cling-patches

cd tools
git clone http://root.cern.ch/git/cling.git
git clone http://root.cern.ch/git/clang.git

cd clang

git checkout cling-patches

cd ../..
sudo mkdir /usr/local/cling

cd /path/to/cling
cd llvm

mkdir build
cd build

export CC=/usr/bin/gcc
export CXX=/usr/bin/g++

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/cling -DCMAKE_BUILD_TYPE=Release ..
cmake --build . -j32
cmake --build . --target install -j8

查看cling kernel是否安装完成

# 继续上次目录
cd ../tools/cling/tools/Jupyter/kernel

tree
# 可以看到已经生成了很多的kernel

安装C++内核

安装C++内核前,请确保已经安装python3环境下已经安装ipython

sudo pip install ipython

重定向到带有setup.py文件的所在目录

# cd到kernel目录
#cd /path/to/cling/llvm/tools/cling/tools/Jupyter/kernel

sudo pip install -e .

安装你需要的C++内核版本,我这里安装C++14

jupyter kernelspec install --user ./cling-cpp14
# 系统环境配置
vim ~/.bashrc

# 添加
export PATH=$PATH:/usr/local/cling/bin

接着

# 激活系统环境
source ~/.bashrc

# 启动jupyter
jupyter notebook

来测试一下,创建一个test_cpp.ipynb,kernel选择C++14

这样就大功告成了,可以愉快地jupyter中进行cpp编程了。
 


http://www.niftyadmin.cn/n/5442325.html

相关文章

【前端】三种方法实现HTML页面局部打印(ctrl+p效果)效果

文章目录 前言方法一、替换body代码:总结: 方法二:jquery.PrintArea.js局部打印 步骤:步骤总结: 方法三、css控制代码打印可能碰到的的问题:想让特定的某个div在新的一页 参考完结 前言 在开发中&#xff…

最大公约数gcd--等差数列

题目描述 数学老师给小明出了一道等差数列求和的题目。但是粗心的小明忘记了一部分的数列,只记得其中 N 个整数。 现在给出这 N 个整数,小明想知道包含这 N 个整数的最短的等差数列有几项? 输入格式 输入的第一行包含一个整数 N。 第二行…

python毕业设计基于flask应急救援调度系统django

此系统设计主要采用的是python语言来进行开发,采用flask框架技术,框架分为三层,分别是控制层Controller,业务处理层Service,持久层dao,能够采用多层次管理开发,对于各个模块设计制作有一定的安全…

Python 全栈体系【四阶】(十六)

第五章 深度学习 一、基本理论 2. 深度神经网络结构 2.1 感知机 2.1.1 生物神经元 感知机(Perceptron),又称人工神经元(Artificial neuron),它是生物神经元在计算机中的模拟。下图是一个生物神经元示意…

4.1.1 SN74LVC14AQ型反相器(施密特非门)

1、施密特逻辑门介绍 施密特逻辑门也被称为施密特触发器(Schmitt Trigger),可用于脉冲整形、消除波形中的噪声成分、按键消抖、多谐振荡电路等。 与普通逻辑门有所不同,施密特逻辑门具有两个触发阈值电平:VT+(上限阈值电平)、VT-(下限阈值电平): (1)当输入信号V…

Android:adb命令

执行adb命令的窗口如下 Mac或Linux系统里的终端窗口; window系统运行输入cmd打开的指令窗口; Android Studio 里控制下面的Terminal窗口 1. 查看已链接的设备和模拟器 adb devices -l 2. 查看Android内核版本号 adb shell getprop ro.build.version.re…

C语言例3-30:位逻辑运算的应用例子

位逻辑运算的应用例子 设 char c10x12, c20xFF, c30x0F; c1 为十六进制整数,对应的二进制数是0001 0010 。c2 为十六进制整数,对应的二进制数是1111 1111 。c3 为十六进制整数,对应的二进制数是0000 1111 。 任何数与0xFF进行按位与的运算…

LVGL Flex弹性布局效果测试

目录 一、不包裹布局 二、包裹布局 三、生长式弹性布局 四、反向排列 一、不包裹布局 void lv_example_flex_1(void) {/*Create a container with ROW flex direction*/lv_obj_t * cont_row = lv_obj_create(lv_scr_act());lv_obj_set_size(cont_row, 300, 75);lv_obj_ali…