2016-07-13 25 views
3

klebte ich die SICStus Prolog 4.3.3 SP_define_c_predicate() Probe wie sie ist — und ... fehlgeschlagen:Alternative SICStus Prolog FFI SP_define_c_predicate()

 
$ /usr/local/sicstus4.3.3/bin/splfr square.pl square.c 
square.c: In function ‘square_it’: 
square.c:7:3: error: unknown type name ‘SP_WORD’ 
    SP_WORD arg1; 
^
square.c:13:3: warning: passing argument 2 of ‘sp_GlobalSICStus_square->dispatch_API_SICSTUS_H->pSP_get_integer’ from incompatible pointer type [enabled by default] 
    if (!SP_get_integer(tmp,&arg1)) 
^
square.c:13:3: note: expected ‘SP_integer *’ but argument is of type ‘int *’ 
Uncaught exception from user code: 
    ! Could not compile square.c 

Bisher habe ich grep die SICStus C-Dateien enthalten für SP_WORD — vergebens.

Haben Sie einige Hinweise, wie ich es zum Laufen bringen kann? Vielen Dank im Voraus!

(FYI:. Ich bin mit x86-64 Linux Mint 17 mit gcc Version 4.8.4)

+3

'finde sicstus4.3.3 -name '* .c' | xargs grep -l SP_WORD' – false

+1

@false. Ich bin nicht in der Nähe meines PCs. Was findet das "finden"? (Ich grepped nur in den Include-Dateien ...) – repeat

+3

'sicstus-4.3.3/library/clpfd/arith.c' und viele mehr in diesem Verzeichnis. – false

Antwort

3

Die Beispiele SP_integer anstelle des internen Typs verwendet SP_WORD haben sollte.