【Gtk】feorda下gtk安装详解
feorda下gtk安装详解
1.yum在线安装gtk
1)pkg-config -version查看pkg-config的版本(本机测试是0.25)2)安装必要组建:(在root权限下)
1 | yum install gtk2 gtk2-devel gtk2-devel-docs |
1 | yum install gnome-devel gnome-devel-docs |
1 | yum install gtk2-devel |
1 | pkg-config --modversion gtk+-2.0 |
2.源码安装gtk
1)源码安装主要分为解压缩/配置/构建/安装等步骤
2)主要依赖包有glib/atk/cairo/pango/gtk+
3)根据软件包之间的相互依赖关系,需要按照glib/atk/cairo/pango/gtk+的顺序安装
4)从上面的在线安装gtk可以看到gtk的依赖关系
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 解决依赖关系 --> 执行事务检查 ---> 软件包 gtk2-devel.i686.0.2.24.13-1.fc17 将被 安装 --> 处理依赖关系 pango-devel >= 1.20.0-1,它被软件包 gtk2-devel-2.24.13-1.fc17.i686 需要 --> 处理依赖关系 cairo-devel >= 1.6.0-1,它被软件包 gtk2-devel-2.24.13-1.fc17.i686 需要 --> 处理依赖关系 atk-devel >= 1.29.4-2,它被软件包 gtk2-devel-2.24.13-1.fc17.i686 需要 --> 处理依赖关系 pkgconfig(pangoft2),它被软件包 gtk2-devel-2.24.13-1.fc17.i686 需要 --> 处理依赖关系 pkgconfig(pangocairo),它被软件包 gtk2-devel-2.24.13-1.fc17.i686 需要 --> 处理依赖关系 pkgconfig(pango),它被软件包 gtk2-devel-2.24.13-1.fc17.i686 需要 --> 处理依赖关系 pkgconfig(gdk-pixbuf-2.0),它被软件包 gtk2-devel-2.24.13-1.fc17.i686 需要 --> 处理依赖关系 pkgconfig(cairo),它被软件包 gtk2-devel-2.24.13-1.fc17.i686 需要 --> 处理依赖关系 pkgconfig(atk),它被软件包 gtk2-devel-2.24.13-1.fc17.i686 需要 --> 处理依赖关系 gdk-pixbuf2-devel,它被软件包 gtk2-devel-2.24.13-1.fc17.i686 需要 --> 处理依赖关系 automake,它被软件包 gtk2-devel-2.24.13-1.fc17.i686 需要 |
3.gtk测试
1)首先编写了一个简单的gtk程序作为测试
2)源代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | //gtk_test.c #include <gtk/gtk.h> int main( int argc, char *argv[] ) { GtkWidget *window; gtk_init(&argc, &argv); window = gtk_window_new(GTK_WINDOW_TOPLEVEL); g_signal_connect(G_OBJECT(window), "delete_event" , G_CALLBACK(gtk_main_quit),NULL); gtk_window_set_title(GTK_WINDOW(window), "Hello World!" ); gtk_widget_show(window); gtk_main(); return 0; } |
3)编译排错
编译命令:
1 | gcc gtk_test.c -o gtk_test.out 'pkg-config --cflags --libs gtk+-2.0' |
gcc: 错误:
1 | pkg-config --cflags --libs gtk+-2.0:没有那个文件或目录 |
4)解决方案
去官网上发现命令如下:
1 | gcc base.c -o base `pkg-config --cflags --libs gtk+-2.0` |
5)执行效果
6)生成gtk应用
在图中可以看见,一个简单的hello world标题的窗口就生成了
本文出自 “成鹏致远” 博客,请务必保留此出处http://infohacker.blog.51cto.com/6751239/1155127
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步