目录
下载
官网下载:
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 条评论