我正在尝试从 C++ 应用程序调用 SWI-Prolog。
我目前正在尝试运行官方文档中提供的一些代码:
#include <SWI-Prolog.h>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
term_t a0 = PL_new_term_refs(2);
static predicate_t p;
if ( !p )
p = PL_predicate("listing", 1, "database");
PL_put_atom_chars(a0, "member");
cout << PL_open_query(NULL, PL_Q_NORMAL, p, a0);
cout << a0;
return 0;
}
它编译得很好,但是当我尝试运行它时,我收到了这个错误:
[FATAL ERROR:
PL_new_term_refs(): No foreign environment]
我可以知道是什么问题吗?我在 Google 上找不到与该主题相关的任何内容。
非常感谢。