首页 > 解决方案 > 在 Intel 64 位 Red Hat 7.5 上交叉编译到 ARM64 (AARCH64) 找不到 dlfcn.h、cstddef.h 等

问题描述

我有一个可以在 Red Hat 64 位 Linux 上很好地编译 gcc 的程序。我运行,它可以很好地制作一个共享对象文件:

gcc -ansi -std=c++11-shared -fPIC...etc

我正在尝试在同一台机器上交叉编译 64 位 ARM(AARCH64)。

我安装了交叉编译工具:

sudo yum install gcc-aarch64-linux-gnu
sudo yum install gcc-c++-aarch64-linux-gnu

但是,当我运行可以正常工作的相同命令时,只需运行

aarch64-linux-gnu-gcc -ansi -std=c++11 -shared -fPIC...etc

它得到错误并且不构建:

 fatal error: dlfcn.h: No such file or directory
 #include <dlfcn.h>

如果我将其注释掉,它会命中下一个包含的 cstddef.h 未找到致命错误等

我该如何进行这项工作?

标签: c++linuxgccarm

解决方案


推荐阅读