我正在使用对我的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;