在交叉编译aarch64时,无法在sysroot中找到libgpiod

编程语言 2026-07-11

我在amd64架构的Ubuntu 20.04主机上,使用Eclipse进行交叉编译,目标设备是运行Debian 12(bookworm)的rpi4 aarch64。

我使用SourceForge上的交叉编译器:cross-gcc-12.2.0-pi_64.tar.gz

为了sysroot,我把rpi4的 /usr和 /lib的根文件系统拷贝到主机上的一个目录,命名为rfs_pi4,然后运行sysroot-realtivelinks.py来修复所有相对链接。

在进行交叉编译时,我包含了以下路径:rfs_piz4、rfs_piz4/lib、rfs_piz4/usr/lib

我得到的错误是: "ld: cannot find -lgpiod: no such file or directory"

在将rfs复制到主机之前,我在rpi4上执行了:$ sudo apt install libgpiod-dev

具体文件 'libgpiod.so' 位于 /usr/lib/aarch64-linux-gnu/

我已经在 /usr/lib/ 下创建了一个符号链接,指向上面目录中的该文件,但链接器仍然找不到它。

对于导致问题的原因,有什么建议?

解决方案

抱歉,我已经解决了这个问题。

我输入的符号链接是针对32位环境的,起始前缀是./arm-,而不是./aarch64-

现在一切都正常工作了

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章