עבור לתוכן

עזרה | הידור תוכנית בספריית GTK+ ב Dev-Cpp

Featured Replies

פורסם

צהריים טובים.

הצלחתי להתקין את ספריית ה GTK+ (ספרייה לבניית ממשק משתמג גרפי ב C - GUI), את כל החבילות שלה.

הקישור ממנו הורדתי את הספרייה (כל החבילות ביחד): GTK+ גרסא 2.22.1

התקנתי הכל, באופן ודאי התקנתי כמו שצריך.

הרצתי תוכנית "שלום עולם".

אני עובד עם Dev-Cpp, ואני צריך לדעת איך בדיוק להריץ תוכנית ב GTK+ במהדר הזה.

למקרה שמשנה מה התוכנית, צרפתי אותה:

#include <gtk/gtk.h>

static gboolean on_delete_event(GtkWidget *widget, GdkEvent *event, gpointer data)
{
gtk_main_quit ();
return FALSE;
}

static void on_button_clicked(GtkWidget *widget, gpointer data)
{
g_print ("Hello World\n");
}

int main(int argc, char *argv[])
{
GtkWidget *window;
GtkWidget *button;

gtk_init(&argc, &argv);

window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
g_signal_connect(G_OBJECT(window), "delete_event", G_CALLBACK(on_delete_event), NULL);

button = gtk_button_new_with_label ("Press Me");
g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(on_button_clicked), NULL);

gtk_container_add(GTK_CONTAINER (window), button);

gtk_widget_show(button);
gtk_widget_show(window);

gtk_main();

return 0;
}

/* code */

ב Project-> Project Options בכרטיסייה Parameters יש שתי מקומות להכניס טקסט:

Linker - ניווט לקבצי ה lib של ה GTK+.

Compiler - משפט זה או אחר, שאני לא יודע מה הוא אמור לעשות, אבל הוא עושה משהו.

ב Linker הכנסתי ניווט לשלושה קבצי lib:

gdk_pixbuf-2.0.lib

gdk-win32-2.0.lib

gtk-win32-2.0.lib

הניווט המלא אליהם די מיותר...

ל Compiler הכנסתי את המשפט הבא:

-mwindows -mno-cygwin -fnative-struct -DHAVE_CONFIG_H

השגיאה שרצה לי:

cc1.exe C:\Users\הרב\Documents\שולחן עבודה ילדים\יוסף אור\תכנות\C ו C++\שפת C\תוכניות ב C\GTK+\cc1.exe unrecognized command line option "-fnative-struct"

C:\Users\הרב\Documents\שולחן עבודה ילדים\יוסף אור\תכנות\C ו C++\שפת C\תוכניות ב C\GTK+\Makefile.win [build Error] [untitled1.o] Error 1

אני מעריך שאני צריך לשנות את מה שכתבתי ב Linker ו/או ב Compiler.

אני אשמח מ א ו ד לעזרה.

פשוט אם אני לא אצליח להדר תוכנית פשוטה ב GTK+, אני לא אלמד את הספרייה הזאת, וזה ממש חבל בשבילי.

תודה רבה על כל עזרה בכל מקרה,

יוסף אור

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים