问题描述
在按照官方文档进行arm64下electron编译时出现下面的错误,编译环境为ubuntun22.04.5。
问题分析
由于当前目标架构是arm64,所以从上图可知sysroot为build/linux/debian_bullseye_arm64-sysroot,进入到该目录下查看libnotify的头文件和库文件,的确找不到,而其他架构如i386下是存在对应文件的,如下图所示,所以我们只要补齐头文件和库文件即可。
解决方法
头文件补齐
将i386架构下的libnotify拷贝到arm64下的usr/include目录下。
库文件补齐
1)从这里下载arm64架构的deb包
2)解压deb包(建议在一个新文件夹中执行下面命令)
dpkg -x libnotify4_0.7.9-3_arm64.deb ./
3)将得到的libnotify.so.4和libnotify.so.4.0.0放到arm64架构的usr/lib/aarch64-linux-gnu目录下,并在usr/lib/aarch64-linux-gnu目录下使用下面命令创建软链接
ln -s libnotify.so.4 libnotify.so