:: [DNG] gcc error: "error: unknown t…
Top Page
Delete this message
Reply to this message
Author: aitor_czr
Date:  
To: dng
Subject: [DNG] gcc error: "error: unknown type name‘GtkObject’"
Hi Edward,

Replace by GtkObject* object by GtkWidget* widget in the routine
'on_window_destroy'. On the other hand, use -export-dynamic. Otherwise,
you will get warnings running the executable:

(prueba:4108): Gtk-WARNING **: Could not find signal handler
'on_togglebutton1_clicked'. Did you compile with -rdynamic?

In other words:

$ gcc -o gtkprog gtkprog.c -export-dynamic `pkg-config --libs --cflags
gtk+-3.0`

HTH,

Aitor.

On 11/28/2015 07:46 PM, Edward Bartolo <edbarx@???> wrote:
> Hi All,
>
> I am trying to practice creating a GUI with gtk but I am failing to
> compile my little test application.
>
> --------------------------------------------
>
> #include <gtk/gtk.h>
>
> void
> on_window_destroy (GtkObject *object, gpointer user_data)
> {
>      gtk_main_quit ();
> }

>
> int
> main (int argc, char *argv[])
> {
>      GtkBuilder      *builder;
>      GtkWidget       *window;

>
>      gtk_init (&argc, &argv);

>
>      builder = gtk_builder_new ();
>      gtk_builder_add_from_file (builder, "gui.glade", NULL);
>      window = GTK_WIDGET (gtk_builder_get_object (builder, "window1"));
>      gtk_builder_connect_signals (builder, NULL);

>
>      g_object_unref (G_OBJECT (builder));

>
>      gtk_widget_show (window);
>      gtk_main ();

>
>      return 0;
> }

>
> ------------------------------
>
> The .glade file:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <!-- Generated with glade 3.18.3 -->
> <interface>
>    <requires lib="gtk+" version="3.12"/>
>    <object class="GtkWindow" id="window1">
>      <property name="can_focus">False</property>
>      <child>
>        <object class="GtkBox" id="box1">
>          <property name="visible">True</property>
>          <property name="can_focus">False</property>
>          <property name="orientation">vertical</property>
>          <child>
>            <object class="GtkMenuButton" id="menubutton1">
>              <property name="visible">True</property>
>              <property name="can_focus">True</property>
>              <property name="receives_default">True</property>
>              <child>
>                <placeholder/>
>              </child>
>            </object>
>            <packing>
>              <property name="expand">False</property>
>              <property name="fill">True</property>
>              <property name="position">0</property>
>            </packing>
>          </child>
>          <child>
>            <object class="GtkTextView" id="textview1">
>              <property name="visible">True</property>
>              <property name="can_focus">True</property>
>              <property name="wrap_mode">word</property>
>            </object>
>            <packing>
>              <property name="expand">True</property>
>              <property name="fill">True</property>
>              <property name="position">1</property>
>            </packing>
>          </child>
>          <child>
>            <object class="GtkToggleButton" id="togglebutton1">
>              <property name="label" translatable="yes">togglebutton</property>
>              <property name="width_request">100</property>
>              <property name="visible">True</property>
>              <property name="can_focus">True</property>
>              <property name="receives_default">True</property>
>              <property name="halign">end</property>
>              <property name="valign">center</property>
>              <property name="xalign">0.51999998092651367</property>
>              <property name="image_position">right</property>
>              <signal name="clicked" handler="on_togglebutton1_clicked"
> object="textview1" swapped="no"/>
>            </object>
>            <packing>
>              <property name="expand">False</property>
>              <property name="fill">True</property>
>              <property name="pack_type">end</property>
>              <property name="position">2</property>
>            </packing>
>          </child>
>        </object>
>      </child>
>    </object>
> </interface>

------------------------------ The command to compile: $ gcc -o gtkprog
gtkprog.c `pkg-config --libs --cflags gtk+-3.0` Could anyone shed some
light on what I am doing wrong? Edward