:: Re: [DNG] gcc error: "error: unknow…
トップ ページ
このメッセージを削除
このメッセージに返信
著者: Edward Bartolo
日付:  
To: aitor_czr
CC: dng
題目: Re: [DNG] gcc error: "error: unknown type name‘GtkObject’"
Hi Aitor,

Thanks for taking some time to answer my question. I did as you
instructed me and successfully compile and run the test program.
However, the test program failed to close even though I closed its
window. I had to kill it using Ctrl + C.

Thanks

On 29/11/2015, aitor_czr <aitor_czr@???> wrote:
> 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

>