Well, you're compiling it as a C++ program, not a C program. C++ is
more strict about type-checking in parameters passed to functions.
Unless there's a reason you're using C++, rename the file to .c and
compile with a C compiler.
Otherwise, you'll have to add extra casts for the function pointers
passed to the functions noted in the error message.
(In all fairness, though, g_signal_handlers_unblock_matched() should
take a GCallback as the 6th param, not a gpointer. C just doesn't
care, while C++ does.)
-brian