Hi, Le 15/01/2013 18:51, Ozojie Chikelu a écrit : > Hi > > I have this application that am developing and I want to integrate it to > nautilus file manager on ubuntu 12.04 and am facing problems > > according to the guide here > http://taschenorakel.de/svn/repos/bulldozer/tags/release-0.1.0/documentation/NautilusExtensions.html > I should be able to build this > > [...]
You're writing C++ here, not C. It can work (I think), but you need to take extra care for the symbols that Nautilus must see to have C linkage (the extern C stuff). I suggest you to write your extension in plain C, at least when you start, because it's highly likely to make it way harder. > void test_stuff(NautilusMenuItem *item, gpointer user_data) > { > char* folders; > folders = g_object_get_data(item, "folder"); > > cout << folders; > } > but it doesn't build. > > I get this error: > > /home/zouga/DevStuffs/couttest/main.cpp:49: error: cannot convert > 'NautilusMenuItem* {aka _NautilusMenuItem*}' to 'GObject* {aka > _GObject*}' for argument '1' to 'void g_object_set_data(GObject*, const > gchar*, gpointer)' As said, it's supposed to be C, NautilusMenuItem is *not* a C++ class, but a C struct, which happen to be a "substruct" of GObject (and others). Take a look at the documentation for GObject for details how it works. Here, you should cast the first argument of g_object_get_data() to GObject using the G_OBJECT() macro: g_object_get_data(G_OBJECT(item), ...); > please what am I doing wrong A cast too few, but mostly using C++ rather than C. Regards, Colomban -- nautilus-list mailing list nautilus-list@gnome.org https://mail.gnome.org/mailman/listinfo/nautilus-list