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 で見つかりません。
どうもありがとうございました。
これは、私が従ったドキュメントです: http://www.swi-prolog.org/pldoc/doc_for?object=section%283,%279.4.9%27,swi%28%27/doc/Manual/foreigninclude. html%27%29%29