SWI-Prolog外部関数インターフェースで使用するための共有ライブラリを初めて作成しようとしていますが、sqlite3を適切にリンクすることができません。私は実際にこれを行います:
gcc -c -fpic task_resources.prolog.c -I/usr/lib/swi-prolog/include/ -lsqlite3
gcc -shared -o task_resources.so task_resources.prolog.o
cp /home/markmb/task_resources.so /usr/lib/swi-prolog/lib/amd64/task_resources
次に、ダミーのプロローグファイルがあります。
dbg_task_resources :-
use_foreign_library(foreign(task_resources)),
getTaskState("id01",Result),
write(Result).
プロローグインタープリターで、私はファイルとファンクターを呼び出します:
[prueba].
dbg_task_resources.
そして、私は結果を得る:
prolog: symbol lookup error: /usr/lib/swi-prolog/lib/amd64/task_resources: undefined symbol: sqlite3_open
では、sqlite3をどのようにリンクすればよいですか?