防止在管道中输入数据时退出



我正在使用对我的makefile的粘附添加一个repl:选项,这将使我进入repl以处理我当前的项目。我创建了一个cling_init.cpp,它拉入所有标头并进行一些基本设置。

然后在我Makefile

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

问题是,当我管道输入内容时,粘附在评估后退出。我正在寻找一个选项来传递文件以粘附,但我似乎找不到任何东西。

有没有办法做到这一点?

知道了!您可以像传递库-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;

相关内容

  • 没有找到相关文章

最新更新