QT、GTK
QT 应用部署
QT 基础项目结构 DEMO
GTK3.0国际化
1. GTK 开发环境搭建
GTK 开发参考文档
本文档使用 MrDoc 发布
-
+
首页
1. GTK 开发环境搭建
一、安装 GTK 开发环境(Ubuntu/Debian 为例) 安装 GTK3 开发库 + CMake ``` sudo apt update sudo apt install libgtk-3-dev cmake build-essential pkg-config ``` 二、创建 CMake 项目结构 ``` my_gtk_project/ ├── CMakeLists.txt # CMake 配置文件 ├── src/ └── main.c # GTK 示例代码 └── build/ # 编译目录(可手动创建) ``` 三、示例代码 src/main.c(GTK3 示例) ``` include <gtk/gtk.h> int main(int argc, char *argv[]) { gtk_init(&argc, &argv); GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(window), "CMake GTK 示例"); gtk_widget_show(window); g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL); gtk_main(); return 0; ``` CMakeLists.txt(核心配置) ``` cmake_minimum_required(VERSION 3.10) project(MyGTKProject) 查找 GTK 依赖 find_package(PkgConfig REQUIRED) pkg_check_modules(GTK3 REQUIRED gtk+-3.0) 设置编译参数 include_directories(${GTK3_INCLUDE_DIRS}) add_definitions(${GTK3_CFLAGS_OTHER}) 生成可执行文件 add_executable(${PROJECT_NAME} src/main.c) target_link_libraries({PROJECT_NAME} {GTK3_LIBRARIES}) 设置 C 标准(可选) set(CMAKE_C_STANDARD 11) ``` 四、构建与运行 进入构建目录 ``` mkdir -p build && cd build ``` 生成 Makefile ``` cmake .. ``` 编译项目 ``` make ``` 运行程序 ``` ./MyGTKProject ``` 五、针对 GTK4 的调整 安装 GTK4 开发库 ``` sudo apt install libgtk-4-dev # 需要 Ubuntu 20.10+ 或 Debian 11+ ``` 修改 CMakeLists.txt ``` pkg_check_modules(GTK4 REQUIRED gtk4) # 替换 gtk+-3.0 → gtk4 target_link_libraries(... ${GTK4_LIBRARIES}) ``` 六、高级配置(可选) 支持 Glade UI 文件 添加资源文件编译规则 ``` file(GLOB UI_FILES "ui/*.ui") add_custom_command( OUTPUT ${UI_FILES} COMMAND gtk-builder-tool simplify ${UI_FILES} DEPENDS ${UI_FILES} ) ``` 设置调试符号 ``` set(CMAKE_BUILD_TYPE Debug) # 在 cmake 命令前添加 -DCMAKE_BUILD_TYPE=Debug ``` 七、验证 CMake 配置 检查找到的 GTK 路径 ``` cd build cmake -LAH .. # 查看所有变量(包括 GTK3_* 路径) ``` 八、常见问题 CMake 找不到 GTK 确保已安装 libgtk-3-dev 或 libgtk-4-dev 检查 pkg_check_modules 中的包名是否匹配系统版本 链接错误 ``` # 如果 target_link_libraries 未生效,尝试显式链接: target_link_libraries({PROJECT_NAME} {GTK3_LDFLAGS}) ``` 通过 CMake 管理 GTK 项目,可以更灵活地处理依赖和跨平台构建。此配置已适配 GTK3/4 的通用场景,可根据实际需求扩展编译规则。
qingkai
2025年5月30日 14:04
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码