I want to interface some pharo code with gstreamer. But gstreamer does not come 
up with a dylib, it requires compilation flags for instance for a C program.
The compile options are :
-pthread -I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0 
-I/usr/lib/i386-linux-gnu/glib-2.0/include -lgstreamer-1.0 -lgobject-2.0 
-lglib-2.0

so if I don’t know which module to use in FFI. If I put 
/usr/lib/gstreamer-1.0
 I get an error « module not found ».
Since it is handled by pragmas it is very difficult to debug.

Annick
Le 13 août 2014 à 13:11, Clément Bera <bera.clem...@gmail.com> a écrit :

> I don't understand, do you want to compile your library using FFI or do you 
> want to bind a library compiled your way with FFI ?
> 
> If you want to compile your library using FFI, then use OSProcess to run the 
> compilation line you showed.
> 
> If you want to bind a library compiled your way with FFI, the easiest way is 
> to compile the C files as a dylib with something like:
> 
> gcc -shared -m32 -Wall helloworld.c -o helloworld.dylib $(pkg-config --cflags 
> --libs gstreamer-1.0)
> 
> (replace .dylib by .so or .dll if you're on windows or on Mac).
> Then you can bind the dynamic library generated with FFI. I am not sure about 
> the FFI syntax but with NativeBoost it would look like:
> Integer>>fib4NB
>     <primitive: #primitiveNativeCall module: #NativeBoostPlugin error: 
> errorCode>
>     ^ self
>         nbCall: #( int functionToCall (int self) )
>         module: '/Users/myName/Desktop/helloWorld.dylib'
> 
> Regards,
> 
> Clement
> 
> 
> 2014-08-13 11:55 GMT+02:00 Annick Fron <i...@afceurope.com>:
> Hi,
> 
> I would like to compile a FFI program but the compiling implies compile flags 
> like in the following :
> 
> gcc -Wall helloworld.c -o helloworld $(pkg-config --cflags --libs 
> gstreamer-1.0)
> 
> How do I do this with FFI ?
> 
> Annick
> 

Reply via email to