LifeOnNet Posted March 19, 2016 Report Share Posted March 19, 2016 (edited) Доброго времени суток! ОС: 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 March 19, 2016 by LifeOnNet Quote Link to comment Share on other sites More sharing options...
Teddy_Bear Posted March 19, 2016 Report Share Posted March 19, 2016 (edited) 1) Может отказаться от прямого указания папки gtk (попробовать переместить gtk.h в gtk-2.0) ? #include <gtk.h> 2) #include </gtk/gtk.h> 2) #include "gtk/gtk.h" ? Edited March 19, 2016 by Teddy_Bear Quote Link to comment Share on other sites More sharing options...
LifeOnNet Posted March 19, 2016 Author Report Share Posted March 19, 2016 Тот же результат Quote Link to comment Share on other sites More sharing options...
Teddy_Bear Posted March 20, 2016 Report Share Posted March 20, 2016 build-essential установить. sudo aptitude install build-essential gcc Quote Link to comment Share on other sites More sharing options...
LifeOnNet Posted March 20, 2016 Author Report Share Posted March 20, 2016 sudo aptitude install build-essential gcc Загрузка данных о репозиториях... Чтение установленных пакетов... Пакет 'build-essential' не найден. 'gcc' уже установлен. Quote Link to comment Share on other sites More sharing options...
Teddy_Bear Posted March 21, 2016 Report Share Posted March 21, 2016 (edited) Сорри, это ж не убанта. Надо установить C/C++ compiler and required Development Tools Открыть YAST Software Management ; Изменить Filter to ‘Patterns’ Выбрать Base DevelopmentLinux Kernel DevelopmentC/C++ Development (C/C++ Compiler and Tools ) Нажать Accept Или из командной строки из-под рута zypper install -t pattern devel_C_C++ Edited March 21, 2016 by Teddy_Bear Quote Link to comment Share on other sites More sharing options...
LifeOnNet Posted April 13, 2016 Author Report Share Posted April 13, 2016 Проблема решилась после установки вышеуказанных пакетов + GTK 3.0 Devel. Благодарю за помощь :) Quote Link to comment Share on other sites More sharing options...
LifeOnNet Posted April 17, 2016 Author Report Share Posted April 17, 2016 #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. Проблема заключается в том, что полученный текст из поля ввода не отображается в диалоговом окне позже. Буду рад подсказке, что делаю не так :). Заранее спасибо! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.