构建选项#
您可以在笔记本中指定 xeus-cling
将用于编译代码的附加构建标志。为此,您需要编辑内核规范文件(通常为 share/jupyter/kernels/xcppSTD/kernel.json
,其中 STD 是 C++ 标准的版本),并将构建标志添加到 argv
数组中。
例如,如果您想将 -pthread -lpthread
标志传递给 xeus-cling
并编译 C++17 代码,则 C++17 内核规范文件变为:
{
"display_name": "C++17",
"argv": [
"/home/yoyo/miniconda3/envs/xwidgets/bin/xcpp",
"-f",
"{connection_file}",
"-std=c++17",
"-pthread",
"lpthread"
],
"language": "C++17"
}
使用第三方库#
在构建二进制文件时,您通常在构建工具中指定第三方库的包含目录和库路径。该库将在二进制文件执行时加载。xeus-cling
略有不同,它允许您指定包含目录和库路径,但是您需要显式加载库。这是通过在 Jupyter Notebook 的代码单元中使用特殊的 pragma
命令完成的:
#pragma cling add_include_path("inc_directory")
#pragma cling add_library_path("lib_directory")
#pragma cling load("libname")