Posted on 2009-02-16 04:18:01-08 by wrapper
Problem related to wrapper for glib
Hai, I was trying to create wrappers for my GStreamer Plugins (for glib libraries). I changed all the name of functions, data tyoes, structure names, macro names etc. according to my naming convention. eg: gint will be gbobint. GType will be GBobType. I have edited all the header files and made corresponding wrapper functions for those functions that I am using in my plugins. I have made changes in my plugins also. With out any error or warning I have created a shared library for that wrappers. ie, my plugins will call wrapper functions, from wrapper functions we will call original glib funtion. I have edited all the header files which is coming under glib,gmodule and gobject. After compiling my edited plugin with my wrapper library I got library for plugin( that is what I want). But after compiling this library I am geting undefined references. Like Undefined reference to IA__g_boxed_free __attribute. I am geting somany like this. Actualy this is there in gobjectalias.h like extern __typeof (g_boxed_free) IA__g_boxed_free __attribute((visibility("hidden"))); #define g_boxed_free IA__g_boxed_free --------- There is a corresponding .c file for this header file.Its name is gobjectaliasdef.c.In that file it is showing like; extern __typeof (g_boxed_copy) g_boxed_copy __attribute((alias("IA__g_boxed_copy"), visibility("default"))); These header file and c file belongs to gobject. So far I have not made any wrapper file for these gobjectalias.h file. I am not able to understand from where it comes and how to solve it . And how should I change this header file according to my naming convention? Currently I have given like: extern __typeof (g_bob_boxed_copy) IA__g_boxed_copy __attribute((visibility("hidden"))); #define g_bob_boxed_copy IA__g_boxed_copy Please help.And one more thing I am geting lots of undefined reference like this. Iam running this on Fedora 6.
Direct Responses: Write a response
Perl Weekly newsletter
A free weekly newsletter for people who are busy to read all the blogs. click here to check it out.