在CentOS中,使用GCC編譯圖形界面程序通常需要使用GTK+、Qt或其他圖形庫。這里以GTK+為例,介紹如何使用GCC編譯一個簡單的圖形界面程序。
sudo yum install gtk2-devel
hello_gui.c
的源代碼文件,并輸入以下內容:#include <gtk/gtk.h>
static void activate(GtkApplication *app, gpointer user_data) {
GtkWidget *window;
GtkWidget *button;
GtkWidget *box;
window = gtk_application_window_new(app);
gtk_window_set_title(GTK_WINDOW(window), "Hello GTK+");
gtk_window_set_default_size(GTK_WINDOW(window), 200, 100);
box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 5);
gtk_container_add(GTK_CONTAINER(window), box);
button = gtk_button_new_with_label("Click me!");
gtk_box_pack_start(GTK_BOX(box), button, TRUE, TRUE, 0);
g_signal_connect(button, "clicked", G_CALLBACK(gtk_main_quit), NULL);
gtk_widget_show_all(window);
}
int main(int argc, char **argv) {
GtkApplication *app;
int status;
app = gtk_application_new("org.gtk.example", G_APPLICATION_FLAGS_NONE);
g_signal_connect(app, "activate", G_CALLBACK(activate), NULL);
status = g_application_run(G_APPLICATION(app), argc, argv);
g_object_unref(app);
return status;
}
這個程序創建了一個簡單的窗口,其中包含一個按鈕。當單擊按鈕時,程序將退出。
gcc `pkg-config --cflags gtk+-2.0` -o hello_gui hello_gui.c `pkg-config --libs gtk+-2.0`
這里,pkg-config
命令用于獲取GTK+庫的編譯和鏈接標志。--cflags
選項用于獲取編譯標志,--libs
選項用于獲取鏈接標志。
./hello_gui
這將顯示一個包含“Click me!”按鈕的窗口。單擊按鈕后,程序將退出。
注意:如果你想使用其他圖形庫(如Qt),你需要安裝相應的開發庫,并根據庫的文檔修改源代碼和編譯命令。