1

我正在向我的 makefile 添加一个repl:使用cling的选项,这将使我进入一个 repl 以玩弄我当前的项目。我创建了一个cling_init.cpp包含所有标题并进行一些基本设置的文件。

然后在我的Makefile

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

问题是当我输入内容时,在评估它后,紧贴退出。我一直在寻找将文件传递给 cling 的选项,但我似乎找不到任何东西。

有没有办法做到这一点?

4

1 回答 1

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;
于 2012-12-11T17:54:11.807 回答