Я пытаюсь добавить глобальную переменную в мой файл buttons.c
, но у меня ошибка - initializer element is not constant
. Пример headers.h
файл
struct MainStruct {
GtkEntryBuffer *buffer;
GtkWidget *entry;
GtkWidget *label;
};
extern struct MainStruct *p;
extern const char *text_entry;
void lower_button_clicked(GtkWidget *lowerbutton);
и когда файл main. c вызывает файл кнопки. c, я не могу определить переменную text_entry
, Что я делаю не так?
кнопки. c
#include <gtk/gtk.h>
#include "headers.h"
const char *text_entry = gtk_entry_buffer_get_text(p -> buffer); // is not constant, why?
void lower_button_clicked(GtkWidget *lowerbutton)
{
printf("%s\n", text_entry);
}
Я видел много похожих вопросов, которые говорят о stati c, но
static const char *text_entry = gtk_entry_buffer_get_text(p -> buffer);
не работает. Как определить эту переменную как глобальную? чтобы избежать дублирования в похожих функциях