您的位置:首页 >CentOS环境下C++图形界面开发入门
发布于2026-05-02 阅读(0)
扫一扫,手机访问
想在CentOS上捣鼓点带界面的C++程序?别被“服务器系统”的名头吓到,其实只要环境搭对,工具选好,上手比想象中快得多。咱们这就从零开始,一步步来。
万事开头难,但第一步往往最简单。首先,确保你的系统是最新的,并且装好了吃饭的家伙——编译工具链。
sudo yum update -y,让系统保持最新状态。sudo yum groupinstall “Development Tools” -y。这一条命令就搞定了gcc、g++、make等核心编译工具。sudo yum groupinstall “Server with GUI” -y。sudo systemctl set-default graphical.target。sudo reboot。工欲善其事,必先利其器。选对GUI框架,能让后续开发事半功倍。这里有几个主流选项,各有千秋。
sudo yum install qt5-qtbase-devel -ysudo yum install gtk3-devel -ysudo yum install fltk-devel -ysudo yum install qt-creator -yqmake -vpkg-config --modversion gtk+-3.0fltk-config --version理论说再多,不如一行代码。下面用三个最简例子,带你感受一下不同框架的“味道”。
#include
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.gtk.example”, 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;
}
g++ `pkg-config --cflags gtk+-3.0` hello_gtk.cpp -o hello_gtk `pkg-config --libs gtk+-3.0`
./hello_gtk
#include
#include
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QPushButton button(“Hello, Qt 5”);
button.resize(200, 100);
button.show();
return app.exec();
}
g++ `pkg-config --cflags Qt5Widgets` -o hello_qt hello_qt.cpp `pkg-config --libs Qt5Widgets`
./hello_qt
cmake_minimum_required(VERSION 3.16)
project(HelloQt LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
find_package(Qt5 COMPONENTS Widgets REQUIRED)
add_executable(hello_qt main.cpp)
target_link_libraries(hello_qt PRIVATE Qt5::Widgets)
构建:
mkdir -p build && cd build
cmake ..
make
./hello_qt
#include
#include
#include
void cb(Fl_Widget*, void*) { printf(“Hello, FLTK!\n”); }
int main(int argc, char **argv) {
Fl_Window win(300, 200, “Hello, FLTK”);
Fl_Button btn(100, 80, 100, 40, “Click Me”);
btn.callback(cb);
win.end();
win.show(argc, argv);
return Fl::run();
}
g++ `fltk-config --cxxflags` hello_fltk.cpp -o hello_fltk `fltk-config --libs`
./hello_fltk
pkg-config --cflags --libs gtkmm-3.0来获取参数即可。写个小例子可以用命令行,但正经做项目,还得靠专业的构建系统和IDE。这里介绍两种主流搭配。
sudo yum install qt-creator -y/usr/bin/qmake),在“编译器”页确认GCC/G++已被自动识别。之后新建项目,选择“Qt Widgets Application”模板,就能开始可视化开发了。{
“version”: “2.0.0”,
“tasks”: [{
“label”: “Build Qt”,
“type”: “shell”,
“command”: “g++”,
“args”: [
“`pkg-config --cflags Qt5Widgets`”,
“-o”, “${workspaceFolder}/hello_qt”,
“${workspaceFolder}/hello_qt.cpp”,
“`pkg-config --libs Qt5Widgets`”
],
“group”: { “kind”: “build”, “isDefault”: true }
}]
}
最后,分享几个踩过的坑和总结出的经验,希望能帮你少走弯路。
sudo yum provides <缺失文件>命令来查找是哪个RPM包提供了这个文件,然后安装它。graphical.target)。其次,确保你是在本地桌面会话或配置正确的远程桌面(如X11转发)中运行程序。find_package)也比传统的qmake更灵活、更强大。build目录中进行编译。这样能轻松管理Debug、Release等多种构建配置,保持源码目录的整洁。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9