构建选项¶
构建旗标¶
你可以指定额外的编译旗标,这些旗标将被 xeus-cling
用来编译笔记本中的代码。为此,你需要编辑 kernelspec 文件(通常是 share/jupyter/kernels/xcppSTD/kernel.json
,其中 STD
是 cpp 标准的版本)并在 argv
数组中添加构建旗标。
例如,如果你想向 xeus-cling
传递 -pthread -lpthread
旗标,并编译 C++14 代码,C++14 的 kernelpec 文件就变成:
{
"display_name": "C++14",
"argv": [
"/home/yoyo/miniconda3/envs/xwidgets/bin/xcpp",
"-f",
"{connection_file}",
"-std=c++14",
"-pthread",
"lpthread"
],
"language": "C++14"
}
使用三方库¶
在构建二进制文件时,你通常会在构建工具中指定包括目录和第三方库的库路径。该库将在二进制执行时被加载。
xeus-cling
略有不同,它允许你同时指定 include 目录和库路径,但是你需要明确地加载库。这是用特殊的 pragma 命令完成的,你可以在 Jupyter 笔记本的代码单元中使用:
#pragma cling add_include_path("inc_directory")
#pragma cling add_library_path("lib_directory")
#pragma cling load("libname")