prolog无法编译外国模块

时间:2017-09-26 15:59:13

标签: swi-prolog

我正在尝试为prolog构建一个外部模块。

我已经在Unix下取得了成功,但我无法在Windows下完成。我尝试了由GWI Prolog提供的MinGW' g++命令和swipl-ld.exe

以下是我尝试的命令:`

  • g++ -I "C:\Program Files\swipl\include" -o test test.cpp
  • swipl-ld -o test test.cpp

两次都是相同的undefined reference to 'PL_some_function',几次。

这是我的test.cpp

#include <SWI-cpp.h>
#include <iostream>
using namespace std;

PREDICATE(hello, 1)
{ cout << "Hello " << (char *)A1 << endl;

    return TRUE;
}

我认为这是一个导入问题,但我不知道文件的位置以及我必须如何操作。

编辑:PL_some_function的例子:

test.obj:test.cpp:(.text$_ZN7PlTermvC1Ei[__ZN7PlTermvC1Ei]+0x10): undefined reference to `PL_new_term_refs'

test.obj:test.cpp:(.text$_ZN11PlExceptionC2Ev[__ZN11PlExceptionC2Ev]+0x1b): undefined reference to `PL_exception'

test.obj:test.cpp:(.text$_ZN11PlExceptionC2Ev[__ZN11PlExceptionC2Ev]+0x3a): undefined reference to `PL_fatal_error'

0 个答案:

没有答案