MAC OS X で XCode IDE を使用して C コードから SWI-Prolog に接続したいと考えています。
ヘッダー ファイルをインクルードし、次のサンプル コードを使用します。
#include <stdio.h>
#include <SWI-Prolog.h>
#include <SWI-Stream.h>
int main(int argc, const char * argv[])
{
char *av[10];
int ac = 0;
av[ac++] = "/opt/local/lib/swipl-6.2.2/bin/i386-darwin12.2.1/swipl";
av[ac++] = "-x";
av[ac++] = "mystate";
av[ac] = NULL;
#ifdef READLINE /* Remove if you don't want readline */
PL_initialise_hook(install_readline);
#endif
if ( !PL_initialise(ac, av) )
PL_halt(1);
PL_halt(PL_toplevel() ? 0 : 1);
printf("done...\n");
return 0;
}
また、ビルド設定でヘッダーと lib パスにリンクしました。
ヘッダー検索パス: /opt/local/lib/swipl-6.2.2/include
ライブラリ検索パス: /opt/local/lib/swipl-6.2.2/lib/i386-darwin12.2.1
しかし、コードの実行中に次のエラーが発生します。
Undefined symbols for architecture x86_64:
"_PL_halt", referenced from:
_main in main.o
"_PL_initialise", referenced from:
_main in main.o
"_PL_toplevel", referenced from:
_main in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
コードを実行するのを手伝ってくれる人はいますか?
よろしくお願いいたします。
ソリック