在 CentOS 上配置 C++ 图形界面开发环境
一 准备开发工具链
二 选择并安装 GUI 框架
三 快速上手示例与编译命令
#include <gtk/gtk.h>
static void activate(GtkApplication* app, gpointer user_data) {
GtkWidget* window = gtk_application_window_new(app);
gtk_window_set_title(GTK_WINDOW(window), "Hello GTK+ 3");
gtk_window_set_default_size(GTK_WINDOW(window), 300, 200);
g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL);
gtk_widget_show_all(window);
}
int main(int argc, char** argv) {
GtkApplication* app = gtk_application_new("org.example.hello", G_APPLICATION_FLAGS_NONE);
g_signal_connect(app, "activate", G_CALLBACK(activate), NULL);
int status = g_application_run(G_APPLICATION(app), argc, argv);
g_object_unref(app);
return status;
}
pkg-config --cflags gtk+-3.0 -o hello_gtk pkg-config --libs gtk+-3.0#include <QApplication>
#include <QPushButton>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QPushButton button("Hello Qt 5");
button.show();
return app.exec();
}
pkg-config --cflags Qt5Widgets -o hello_qt pkg-config --libs Qt5Widgets#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Button.H>
void cb(Fl_Widget*, void*) { printf("Hello FLTK\n"); }
int main(int argc, char** argv) {
Fl_Window* w = new Fl_Window(300, 200, "Hello FLTK");
Fl_Button* b = new Fl_Button(100, 80, 100, 40, "Click");
b->callback(cb);
w->end(); w->show(argc, argv);
return Fl::run();
}
四 使用 IDE 与调试
五 常见问题与排查