Hi, I have made simple trials using the StandardLib. I get this error : RBParser does not understand externalFunctionDeclaration. I might be missing something …
Annick Le 9 juil. 2014 à 17:20, Esteban Lorenzano <esteba...@gmail.com> a écrit : > yes, FFI does not handle ** arguments. > I always replace it by ulong instead (it is the same, after all) > > Esteban > > On 09 Jul 2014, at 17:17, Clément Bera <bera.clem...@gmail.com> wrote: > >> Hello, >> >> This bug happen both with the old and new compiler. >> >> The error tells you that the number of arguments of your smalltalk method >> does not match the number of argument of the C method you want to call (but >> it seemsthe number of arguments is correct). >> >> This works fine: >> >> <apicall: int 'gst_init_check' (int char* int) module: >> 'libgstreamer1.0-0.so'> >> ^self externalCallFailed >> >> This works fine too: >> >> <apicall: int 'gst_init_check' (int* char* int*) module: >> 'libgstreamer1.0-0.so'> >> ^self externalCallFailed >> >> So it seems the bug comes from the parser missparsing ** . I am not familiar >> with C enough to help, I don't know what means ** (Is it a pointer pointing >> to a pointer pointing to the actual data ?). >> >> Perhaps someone who knows how to use FFI can give a better answer. >> >> Esteban ? Guille ? >> >> >> 2014-07-09 16:39 GMT+02:00 Annick Fron <i...@afceurope.com>: >> Hi, >> >> >> >> I am trying to use FFI on linux with pharo 3 using version 31 of FFI. >> >> I have written the following method : >> <apicall: int 'gst_init_check' (int* char** int*) module: >> 'libgstreamer1.0-0.so'> >> >> ^self externalCallFailed >> >> >> ==== >> >> but when accepting it I get a syntax error « matching number of arguments » >> Annick Fron >> >