gtk安装教程(wsl/ubuntu)

文章讲述了在现代环境下使用GTK进行开发,涉及从源码安装、依赖管理(GLIB、Atk等)、Meson构建系统、预构建包选择,以及解决自动下载源码编译的问题。还讨论了国际化和图形库的使用,以及安装过程中的注意事项和常见问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

零 架构

https://www.gtk.org/docs/architecture/

https://docs.gtk.org/gtk4/building.html

!!!!!!!!!!!!!!!!!!!书上有讲最小的依赖项

GTK本身 ./configure  make  但这是旧版的吧,需要用meson

GLIB   

从源码安装

如何解决依赖关系呢

根据依赖关系的要求,库的安装要按照这样的先后顺序进行:GLib、Atk、Cairo、Pango、Gtk+。

或者,安装的时候,缺少的东西,似乎自动下载源代码进行编译了

用package安装(不能安装指定版本,未必有)

自动

使用的是已经编译好的软件包。由于这种安装一般会自动解决各个软件包之间的依赖关系,进而安装或者更新相应的软件包,所以与源码安装 方式相比,二进制包的安装节省了编译代码所需要的时间,避免了源码安装的种种繁琐易错之处,对于安装者的要求也较低

examples!!!!!!!!!!!!!!!

1搭建环境

2基于examples学习

国际化、?、Xlib(跟x协议有关)的封装、数据结构

2d图形库、图形库、构建相关

所以应用程序,只需要包含gtk.h?

安装概述

1预构建的二进制包,operating system vendor 、 independent sources

2系统自带

3 自己构建,尤其是需要指定版本时,有办法直接安装历史版本的预构建包么?

链接没有,git的release呢

meson   ninja  参考readme进行构建

源码来源,a source distribution 、 a Git clone

mesao选项:

meson setup --prefix /opt/gtk builddir  模块的安装路径

meson configure,出现啥?跟Linux内核配置一样?有file解释有哪些选项

调试应用,跟编译应用时的选项有关;build types决定,能否调试底层库?

用默认配置就好

安装用的环境变量

运行应用用的环境变量:bin和库在哪里

从源码构建的顺序要求:

gtk需要啥:看我的.pc

依赖需要先编译啥:先看我的.pc

当没有时,似乎是从git上下载源码编译的


 


 

所以编译方式会有不同么,有些是gtk团队贡献的,gnome/gtk,一个庞大的开源社区

GLIB:

GLib是一个低级核心库,构成了GTK的基础。它为C语言提供数据结构处理、可移植性包装器和运行时功能接口,如事件循环、线程、动态加载和对象系统。

PANGO:

Pango是一个用于文本布局和呈现的库,强调国际化。它构成了GTK文本和字体处理的核心。

CAIRO:

Cairo是一个2D图形库,支持多种输出设备(包括X Window System、Win32),同时在所有媒体上产生一致的输出,同时在可用时利用显示硬件加速。

GDKPIXBUF

GdkPixbuf是一个用于加载各种格式图标等图形资产的库,如PNG、JPEG和GIF。

ATK

ATK是一组提供可访问性的接口的库。通过支持ATK接口,应用程序或工具包可以与屏幕阅读器、放大镜和替代输入设备等工具一起使用。

GObject Introspection

一个框架,用于将Introspection数据提供给语言绑定。

libpoxy

是一个抽象不同OpenGL库之间差异的库。GTK将其用于跨平台GL支持和自己的绘图。

一 安装gtk

1 非gtk维护的直接sudo

2 gtk维护的按顺序构建

meson 的配置,只用默认的不行么

缺少的依赖

自动下载源码了?

提前构建好?看一下配置文件需要哪些依赖

可以通过配置项目,减少依赖么

glib编译

glib本身有哪些依赖呢

The Meson Build system

The Absolute Beginner's Guide to Installing and Using Meson

INATALL.md,有依赖描述,也有编译选项描述

https://dickens.co.in/compile-gtk4-on-ubuntu-bionic-lts-focal-lts

这个在构建之前,已经安装了好多lib,这个应该也可以解决依赖关系

有的可以直接sudo下载,但是有的只能从github下载release吧,因为这种lib没有添加到源里?

meson compile -C _build   生成库?下面的是配置参数

生成失败:

xml-stripblanks preprocessing requested, but XMLLINT is not set, and xmllint is not in PATH

meson configure _build | grep -i xml ,没有啊

meson install -C _build 把库copy到哪里?把需要的文件拷贝到在配置时指定的安装目录中

哦哦哦,生成成功了,只是说跳过了预处理而已。

二wsl图形

三运行

四运行失败,尝试hv

### 安装 Ubuntu 20.04 on WSL2 为了在 Windows Subsystem for Linux 2 (WSL2)安装 Ubuntu 20.04 并配置用于深度学习的环境,需执行一系列命令和操作来确保系统的正常运行。 #### 启用 WSL 和虚拟机平台功能 通过 PowerShell 使用管理员权限输入以下指令: ```powershell dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart ``` 重启计算机以应用更改[^2]。 #### 设置 WSL2 作为默认版本 打开PowerShell并键入下列命令设置新发行版使用WSL2: ```powershell wsl --set-default-version 2 ``` 这一步骤对于后续安装的操作至关重要,因为其决定了所创建的新Linux子系统将基于哪个内核版本工作。 #### 下载并安装 Ubuntu 20.04 访问微软商店下载官方发布的Ubuntu镜像文件;或者直接利用命令行完成安装过程。如果选择后者,则可以在PowerShell中输入如下语句获取最新稳定版Ubuntu: ```powershell wsl --install -d Ubuntu-20.04 ``` 此方法会自动启用必要的特性、下载所需的资源包以及初始化新的Ubuntu实例[^1]。 #### 配置开发环境 一旦成功启动了Ubuntu终端之后,更新软件源列表并且升级现有程序至最新状态: ```bash sudo apt update && sudo apt upgrade -y ``` 接着可以考虑安装一些常用的工具和服务端组件,比如Python及其pip管理器等: ```bash sudo apt install python3-pip git vim curl wget build-essential cmake -y ``` 针对深度学习的需求,推荐预先准备好NVIDIA CUDA Toolkit及相关依赖项。由于WSL2本身并不支持GPU加速计算能力,因此需要额外安装特定驱动程序和支持库才能使TensorFlow或PyTorch框架能够识别到物理显卡设备[^3]。 #### 进阶配置(可选) 为了让图形界面应用程序能够在Windows主机上显示出来,还需要做进一步调整。编辑`~/.bashrc`文件加入下面几行代码以便正确加载Fcitx输入法模块和其他必要参数[^4]: ```bash echo 'export QT_IM_MODULE=fcitx' >> ~/.bashrc echo 'export GTK_IM_MODULE=fcitx' >> ~/.bashrc echo 'export XMODIFIERS=@im=fcitx' >> ~/.bashrc echo 'export DefaultIMModule=fcitx' >> ~/.bashrc source ~/.bashrc ``` 最后,可以通过导入预构建好的tarball档案快速恢复先前备份过的整个操作系统映像,从而节省大量时间成本: ```powershell wsl --import ubuntu d:\WSL\Ubuntu-20.04 d:\ubuntu20.04.tar ``` 以上就是关于如何在Windows Subsystem for Linux 2 (WSL2)安装 Ubuntu 20.04 并配置用于深度学习环境的方法介绍。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值