构建选项

构建旗标

你可以指定额外的编译旗标,这些旗标将被 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")