由于我使用的GTK4开发的GUI软件,而Jetson系统是Ubuntu20.04版本。Ubuntu20.04默认是不支持安装GTK4。

1 默认依赖环境

sudo apt-get -y install libncurses5
sudo apt-get -y install libelf++0 libelf1 libelf-dev
sudo apt-get -y install libxml2 libxml2-dev libxml2-utils 
sudo apt-get -y install libxslt1-dev libxslt1.1
sudo apt-get -y install sysprof libpango1.0-dev
sudo apt-get -y install libpango-1.0-0 libpangocairo-1.0-0
sudo apt-get -y install libglib2.0-0 libglib2.0-dev
sudo apt-get -y install libxkbcommon-dev libxrandr-dev libxrender-dev
sudo apt-get -y install libxi-dev libxdamage-dev libxfixes-dev
sudo apt-get -y install libxext-dev libxcursor-dev libfontconfig-dev
sudo apt-get -y install libx11-dev libwayland-dev libpng-dev
sudo apt-get -y install libc6-dev libc6 libc6-amd64 libc++-10-dev
sudo apt-get -y install libc++-dev 
sudo apt-get -y install libpng++-dev libpng-dev libpng16-16 
sudo apt-get -y install libjpeg-dev libjpeg62 libjpeg8 libjpeg8-dev
sudo apt-get -y install libspectre-dev libspectre1
sudo apt-get -y install librsvg2-2 librsvg2-dev
sudo apt-get -y install libpixman-1-0 libpixman-1-dev
sudo apt-get -y install libxcb-shm0 libxcb-shm0-dev
sudo apt-get -y install cairo-5c
sudo apt-get -y install libicu-dev libthai-dev
sudo apt-get -y install libvulkan-dev libvulkan1
sudo apt-get -y install libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-dev
sudo apt install libxinerama-dev
sudo apt-get update
sudo apt-get -y install libegl1-mesa libegl1-mesa-dev
sudo apt-get -y install libgles2-mesa-dev libglfw3-dev libglfw3
sudo apt-get -y install libglew-dev libglew2.1
sudo apt-get -y install ffmpeg libatk1.0-dev libglm-dev iso-codes
sudo apt-get -y install libgraphene-1.0-dev libgraphene-1.0-0 
sudo apt-get -y install sassc hicolor-icon-theme libglib2.0-0
sudo apt-get -y install libglib2.0-dev pkg-config bison gettext
sudo apt-get -y install xsltproc 
sudo apt-get -y install python3-dev
sudo apt install libgtk-3-dev -y

# 使用代理 --proxy=127.0.0.1:7890
wget --no-check-certificate https://bootstrap.pypa.io/get-pip.py
sudo python3 get-pip.py -i https://pypi.mirrors.ustc.edu.cn/simple/
sudo python3 -m pip install --upgrade pip -i https://pypi.mirrors.ustc.edu.cn/simple/
sudo python3 -m pip install --upgrade setuptools -i https://pypi.mirrors.ustc.edu.cn/simple/
sudo python3 -m pip install --upgrade wheel -i https://pypi.mirrors.ustc.edu.cn/simple/
sudo python3 -m pip install meson -i https://pypi.mirrors.ustc.edu.cn/simple/
sudo python3 -m pip install ninja -i https://pypi.mirrors.ustc.edu.cn/simple/
sudo python3 -m pip install cmake -i https://pypi.mirrors.ustc.edu.cn/simple/

libadwaita-1.2.5.tar.xz

gtk-4.8.3.tar.xz

安装gtk-4.8.3

harfbuzz版本低错误

Alt text

因为Ubuntu20.04最高支持安装harfbuzz=2.6.4

编译过程中出现的这两个未引用错误,是因为上面那两个函数出现在 2.6.8 以上版本。

我选择安装harfbuzz 2.9.1:https://github.com/harfbuzz/harfbuzz/archive/refs/tags/2.9.1.tar.gz

meson setup build --prefix=/usr/local/harfbuzz-2.9.1
cd _build && ninja -j 8 && sudo ninja install

2 安装glib库