怎样在Ubuntu下安裝GTK开发环境

2022年9月23日 | 分类: 【技术】

GTK+(GIMP Toolkit)是一套源码以LGPL许可协议分发、跨平台的图形工具包。最初是为GIMP写的,已成为一个功能强大、设计灵活的一个通用图形库,是GNU/Linux下开发图形界面的应用程序的主流开发工具之一。并且,GTK+也有Windows版本和Mac OS X版。它支持创建基于 GUI 的应用程序,可以把 GTK+ 想像成一个工具包,从这个工具包中可以找到用来创建 GUI 的许多已经准备好的构造块。

GTK+官方指南:http://zetcode.com/tutorials/gtktutorial/
GTK+的Wiki网址:http://en.wikipedia.org/wiki/GTK%2B

参考:https://www.jianshu.com/p/60c029928e11
参考:https://openhome.cc/Gossip/GTKGossip/GTKUnderUbuntu.html

先开一个 Ubuntu 20.04 LTS x64 的裸机

在命令行安装 build-essential 套件

sudo apt-get install build-essential

提示:

E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.

运行:

sudo dpkg --configure -a

然后执行安装命令成功。

测试 gcc

touch hello.c
vim hello.c

在 vim 编辑界面,粘贴:

#include <stdio.h>

int main(void) {
    printf("Hello World!\n");
    return 0;
}

编译:

gcc -o hello hello.c

运行:

./hello

输出:

Hello World!

安装 GTK 开发套件 libgtk2.0-dev

sudo apt-get install libgtk2.0-dev

查看一下GTK的相关编译环境信息:

–cflags 关联 include 目录。

pkg-config --cflags gtk+-2.0

输出:

-pthread -I/usr/include/gtk-2.0 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16

–libs 关联函数库及所在目录。

pkg-config --libs gtk+-2.0

输出:

-lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lharfbuzz -lfontconfig -lfreetype

所关联的函数函式庫包括:

GTK(-lgtk):基于 GDK 的 widget 函数库。
GDK(-lgdk):Xlib 包(Wrapper)。.
gdk-pixbuf(-lgdk_pixbuf):影像处理函数库。
Pango(-lpango):国际化文字。
gobject(-lgobject):GTK 用以為基礎的型態系統。
gmodule(-lgmodule):用來載入執行時期的擴充。
GLib(-lglib):包括各種函式,GTK 基於 GLib,所以您會需要這個函式庫。
Xlib(-lX11):被 GDK 所使用。
Xext(-lXext):包括共享記憶體 pixmaps(shared memory pixmaps)與其它 X 擴充。
math(-lm):因各種目的而被 GTK 所使用的數學函式庫。

GTK 基于 GDK(Gnome Drawing Kit),GDK 是一个绘图开放工具箱,GDK 將 Xlib(X函数库)加以包裝简化,比如点、线、窗口、色彩等的设定,以及键盘、鼠标等事件的支持。