Jump to content
СофтФорум - всё о компьютерах и не только

Программирование GTK+ на OpenSUSE


Recommended Posts

Доброго времени суток!

 

ОС: OpenSUSE

Платформа: GTK+

IDE: Geany

Язык: C

 

При использовании #include <gtk/gtk.h> выдает следующую ошибку:

gcc -Wall -o "gtktest" "gtktest.c" (в каталоге: /home/meuser/проекты/gtktest)gtktest.c:1:21: fatal error: gtk/gtk.h: Нет такого файла или каталога #include <gtk/gtk.h>                     ^compilation terminated.Сборка завершилась с ошибкой.

/etc/environment содержит:

PKG_CONFIG_PATH=/usr/include/gtk-2.0/

/usr/include/gtk-2.0/ содержит папку gtk с указанным h файлом.

 

Edited by LifeOnNet
Link to comment
Share on other sites

1) Может отказаться от прямого указания папки gtk (попробовать переместить gtk.h в gtk-2.0) ?

 

 #include <gtk.h>

 

2) #include </gtk/gtk.h>

 

2) #include "gtk/gtk.h" ?

Edited by Teddy_Bear
Link to comment
Share on other sites

Сорри, это ж не убанта.

 

Надо установить  C/C++ compiler and required Development Tools

Открыть YAST Software Management ;

Изменить  Filter to ‘Patterns’

Выбрать

Base Development
Linux Kernel Development
C/C++ Development (C/C++ Compiler and Tools )

 

Нажать Accept

 

Или из командной строки из-под рута

zypper install -t pattern devel_C_C++
Edited by Teddy_Bear
Link to comment
Share on other sites

  • 4 weeks later...
#include <gtk/gtk.h>#include <stdlib.h>void messageup();void exiting();struct data{    const gchar *message;    GtkWidget *window;};int main (int   argc, char *argv[]){      GtkBuilder      *builder;  GtkWidget       *window;  GtkWidget       *entryMainValue;  struct data d;  gtk_init (&argc, &argv);  builder = gtk_builder_new ();  gtk_builder_add_from_file (builder, "samplemain.ui", NULL);  window = GTK_WIDGET (gtk_builder_get_object (builder, "applicationwindow1"));  entryMainValue = GTK_WIDGET (gtk_builder_get_object (builder, "entryMainValue"));  g_signal_connect (window, "delete_event", G_CALLBACK (exiting), NULL);  d.message = gtk_entry_get_text(GTK_ENTRY(entryMainValue));   d.window = window;  g_signal_connect (entryMainValue, "activate", G_CALLBACK (messageup), &d);  g_object_unref (G_OBJECT (builder));  gtk_widget_show (window);                  gtk_main ();  return 0;}void messageup(GtkWidget *entryMainValue, gpointer user_data){        struct data *d = user_data;    GtkWidget * messagebox;        messagebox = gtk_message_dialog_new((GtkWindow *) d->window, GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, "%s\n", d->message);    g_signal_connect_swapped (messagebox, "response", G_CALLBACK (gtk_widget_destroy), messagebox);    gtk_widget_show(messagebox);}void exiting(){    exit(0);}

Написал тестовую програмку для GTK. Проблема заключается в том, что полученный текст из поля ввода не отображается в диалоговом окне позже.

Буду рад подсказке, что делаю не так :). Заранее спасибо!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...