cling - 在数据管道中防止退出

时间:2012-12-11 17:24:23

标签: c++ cling

我正在使用cling向我的makefile添加repl:选项,这将把我放到一个repl中来玩我当前的项目。我创建了一个cling_init.cpp,它可以提取所有标题并进行一些基本设置。

然后在我的Makefile

repl:
    cat cling_init.cpp | cling -std=c++11 // etc ...

问题是,当我输入内容时,在评估之后就会退出。我已经找了一个选项来传递一个文件,但我似乎无法找到任何东西。

有办法做到这一点吗?

1 个答案:

答案 0 :(得分:1)

知道了!您可以使用与库-l相同的方式传递源文件。

repl:
    cling -std=c++11 -lcling_init.cpp -llibpq.so -lliblog4cxx.so //etc ...

您还需要将整个库名称用于其中。

为了进行额外的设置,我必须使用静态块:

#include <iostream>

struct ClingInitialize {
  ClingInitialize () {
    std::cout << "initialize" << std::endl;
  }
};

static ClingInitialize staticBlock;