下载

官网下载:
https://gitlab.gnome.org/GNOME/glib/

构建

1.meson构建

不指定参数

https://blog.csdn.net/gitblog_00460/article/details/142838705

aarch64平台

官网教程:
https://docs.gtk.org/glib/cross-compiling.html

https://blog.csdn.net/xiaolz88/article/details/129999608

  • 百度教程
    确保你已经安装了交叉编译工具链,比如aarch64-linux-gnu-gcc。

下载GLib源代码。

git clone https://gitlab.gnome.org/GNOME/glib.git
cd glib

配置构建系统。你可以使用meson和ninja来完成这个任务。

meson setup --prefix=/usr builddir --cross-file cross-file.txt
在这里,cross-file.txt是你需要定义的交叉编译文件,它看起来可能像这样:

[binaries]
c = 'aarch64-linux-gnu-gcc'
cpp = 'aarch64-linux-gnu-g++'
ar = 'aarch64-linux-gnu-ar'
strip = 'aarch64-linux-gnu-strip'

[host_machine]
system = 'linux'
cpu_family = 'arm'
cpu = 'arm64'
endian = 'little'

编译GLib。

ninja -C builddir
安装GLib到指定的目录。

ninja -C builddir install

2.autotool构建

https://blog.csdn.net/tiansyun/article/details/131497079

第1步:生成configure脚本

第2步:执行configure脚本
./configure --host=aarch64-linux-gnu --prefix=<安装路径>

构建异常

meson

使用meson构建时,子库libffi构建会产生异常:

subprojects/libffi/src/meson.build:76:19: ERROR: Command `/usr/bin/aarch64-linux-gnu-gcc -I/home/xinyi/code/cplus/libs/glib_root/glib/build/subprojects/libffi/src/.. -I/home/xinyi/code/cplus/libs/glib_root/glib/build/subprojects/libffi/src/../include -DARM -E -x assembler-with-cpp /home/xinyi/code/cplus/libs/glib_root/glib/subprojects/libffi/src/../libffi.map.in -o /home/xinyi/code/cplus/libs/glib_root/glib/build/subprojects/libffi/src/libffi.map` failed with status 1.

直接执行命令

In file included from /home/xinyi/code/cplus/libs/glib_root/glib/subprojects/libffi/src/../libffi.map.in:4:
/home/xinyi/code/cplus/libs/glib_root/glib/build/subprojects/libffi/src/../include/ffitarget.h:14:10: fatal error: ffitarget-aarch64.h: 没有那个文件或目录
   14 | #include "ffitarget-aarch64.h"
      |          ^~~~~~~~~~~~~~~~~~~~~
compilation terminated.

ffitarget-aarch64.h头文件找不到


0 条评论

发表回复

您的电子邮箱地址不会被公开。