在 CentOS 上配置 Rust 图形界面开发环境
一 基础环境准备
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh,安装完成后执行 source ~/.bashrc 或新开终端,验证 rustc --version、cargo --version。sudo yum groupinstall "Development Tools" -y,sudo yum install epel-release -y,sudo yum install gcc gcc-c++ make cmake -y。如使用 DNF(CentOS 8+/Stream),可将 yum 替换为 dnf。二 选择 GUI 框架与安装系统依赖
| 框架 | 适用场景 | CentOS 依赖安装要点 | 备注 |
|---|---|---|---|
| GTK-rs(GTK 3/4) | Linux 原生外观、功能完备 | 安装 X11 与 GTK 3/4 开发包(见下方命令) | 生态成熟、控件丰富 |
| FLTK-rs | 轻量工具、跨平台、依赖少 | sudo yum groupinstall "X Software Development" -y 与 sudo yum install pango-devel libXinerama-devel -y |
构建简单、发布体积小 |
| Iced | 跨平台、声明式 UI | 一般仅需基础编译工具链 | 架构现代,学习曲线平缓 |
| egui + eframe | 嵌入式/工具型即时模式 GUI | 一般仅需基础编译工具链 | 易上手,示例丰富 |
sudo yum install gtk3-devel -ysudo yum install gtk4-devel -ysudo yum groupinstall "X Software Development" -ysudo yum install pango-devel libXinerama-devel -ysudo yum install cairo-devel libglvnd-devel -y三 创建项目与最小示例
GTK-rs 示例(main.rs)
[package]
name = "gtk-hello"
version = "0.1.0"
edition = "2021"
[dependencies]
gtk = { version = "0.15", features = ["v3_24"] }
use gtk::prelude::*;
use gtk::{Application, ApplicationWindow, Button};
fn main() {
let app = Application::builder()
.application_id("com.example.gtk-hello")
.build();
app.connect_activate(|app| {
let window = ApplicationWindow::builder()
.application(app)
.title("GTK Rust 示例")
.default_width(400)
.default_height(300)
.build();
let button = Button::with_label("点击我");
button.connect_clicked(|_| {
println!("按钮被点击");
});
window.set_child(Some(&button));
window.present();
});
app.run();
}
cargo run --releaseFLTK-rs 示例(main.rs)
[package]
name = "fltk-hello"
version = "0.1.0"
edition = "2021"
[dependencies]
fltk = "1.4"
use fltk::{app, button::Button, frame::Frame, prelude::*, window::Window};
fn main() {
let app = app::App::default();
let mut wind = Window::default().with_size(400, 300).with_label("FLTK Rust 示例");
let mut frame = Frame::default().with_size(200, 40).center_of(&wind);
let mut but = Button::default().with_size(120, 40).center_of(&wind).with_label("点击");
but.set_callback(move |_| {
frame.set_label("按钮被点击");
});
wind.end();
wind.show();
app.run().unwrap();
}
cargo run --release四 调试与 IDE 配置
target/debug/your_bin 或 target/release/your_bin,即可断点调试。~/.cargo/bin 已加入 PATH,必要时在 ~/.bashrc 或 ~/.profile 中导出:export PATH="$HOME/.cargo/bin:$PATH" 并 source 重载。五 常见问题与排查
pango-xft.h 或 X11 相关):安装 X Software Development 与 pango-devel 等依赖,再重新 cargo build。cargo clean && cargo build。