You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Linux系统安装GTK+ 3.24.38版本

如何在Linux系统安装GTK+ 3.24.38版本

我完全懂你现在的烦恼——Windows上用MSYS2能轻松用上GTK+ 3.24.38,但Linux这边通过apt upgrade libgtk-3-dev升级却只能停在3.24.33,确实挺闹心的。下面给你梳理下可行的解决方案:

先确认有没有预编译包可选

不同Linux发行版的软件源更新节奏不一样,比如Ubuntu LTS这类稳定版,软件包通常会保持在经过测试的版本,小版本更新不会轻易推送。你可以先试试这两个方向:

  • 检查有没有第三方PPA(针对Debian/Ubuntu系):有些社区维护的PPA会提供更新的GTK小版本,不过要注意选择信誉良好的源,避免安全风险。
  • 如果你用的是滚动更新发行版(比如Arch Linux),可以检查官方源是否已经更新到这个版本,滚动发行版通常会更快跟进上游小版本。

如果上面的方法都找不到3.24.38的预编译包,那从源码编译确实是最可靠的选择,别担心,步骤其实没那么复杂,我给你整理了简化版的流程:

从源码编译GTK+ 3.24.38的步骤

  1. 安装编译依赖
    先装编译必备的基础工具,以及GTK+编译所需的所有依赖包:

    sudo apt update
    sudo apt install build-essential git pkg-config
    sudo apt build-dep libgtk-3-dev
    

    其中apt build-dep会自动安装编译系统自带GTK所需的全部依赖,省得你一个个找漏。

  2. 下载指定版本的源码
    可以通过Git克隆官方仓库并切换到3.24.38的标签:

    git clone --tag 3.24.38 https://gitlab.gnome.org/GNOME/gtk.git
    cd gtk
    
  3. 编译并安装
    GTK现在用Meson+Ninja构建,步骤如下:

    # 创建编译目录(规范做法,避免污染源码目录)
    mkdir build && cd build
    # 配置编译参数,指定安装到/usr/local(不会覆盖系统自带的GTK)
    meson setup --prefix=/usr/local
    # 开始编译
    ninja
    # 安装到系统
    sudo ninja install
    
  4. 让系统优先识别新安装的版本
    编译安装完成后,需要让pkg-config能找到新的GTK版本,设置环境变量:

    export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
    

    执行完这个命令后,再跑pkg-config --modversion gtk+-3.0,应该就能看到3.24.38了。如果想永久生效,把这条命令加到你的~/.bashrc或者~/.profile文件里即可。

可选:本地安装不影响全局

如果你不想把新GTK安装到系统目录,怕影响其他程序,可以指定安装到个人目录:

meson setup --prefix=$HOME/gtk3
sudo ninja install

然后对应的环境变量改成:

export PKG_CONFIG_PATH=$HOME/gtk3/lib/pkgconfig:$PKG_CONFIG_PATH
export LD_LIBRARY_PATH=$HOME/gtk3/lib:$LD_LIBRARY_PATH

回到你的疑问:是不是只能编译?如果你的发行版官方源和可信第三方源都没有3.24.38,那编译确实是目前最可行的方案,毕竟小版本更新一般不会进入稳定发行版的软件源。

备注:内容来源于stack exchange,提问作者Olumide

火山引擎 最新活动