
dockcross/linux-arm64dockcross/aarch64-linux-gnu 是 Dockcross 项目提供的交叉编译器镜像,专为在 x86_64 Linux 系统上为 64 位 ARM 架构(AArch64)编译应用程序而设计。该镜像集成了预配置的交叉编译工具链,简化了跨架构软件开发流程,使开发人员无需手动配置复杂的交叉编译环境即可快速构建面向 ARM64 Linux 平台的可执行文件。
拉取镜像
从 Docker Hub 拉取最新版本镜像:
bashdocker pull dockcross/aarch64-linux-gnu
生成包装脚本(可选)
为简化后续使用,可生成一个包装脚本,自动处理容器启动参数:
bashdocker run --rm dockcross/aarch64-linux-gnu > dockcross-aarch64 chmod +x dockcross-aarch64
生成的 dockcross-aarch64 脚本可直接作为交叉编译环境的入口。
编译项目
通过挂载主机源码目录并运行构建命令进行编译:
使用包装脚本(推荐):
bash./dockcross-aarch64 make # 使用 Make 构建 # 或 ./dockcross-aarch64 cmake --build build # 使用 CMake 构建
直接运行 Docker 命令:
bashdocker run --rm -v $(pwd):/work dockcross/aarch64-linux-gnu make
-v $(pwd):/work:将当前目录(源码所在目录)挂载到容器内的 /work 目录。make:在容器内执行的构建命令,可替换为实际项目使用的构建命令(如 cmake .. && make)。可通过 -e 参数传递环境变量,自定义编译行为:
CC/CXX:指定 C/C++ 编译器(默认已设置为 aarch64-linux-gnu-gcc/aarch64-linux-gnu-g++)。CMAKE_TOOLCHAIN_FILE:CMake 工具链文件路径(镜像内路径为 /dockcross/cmake/Tool***aarch64-linux-gnu.cmake),用于 CMake 项目自动配置交叉编译。EXTRA_CFLAGS/EXTRA_CXXFLAGS:额外的 C/C++ 编译选项。示例(传递额外编译选项):
bashdocker run --rm -v $(pwd):/work -e EXTRA_CFLAGS="-O3 -Wall" dockcross/aarch64-linux-gnu make
如需访问主机上的其他目录(如依赖库目录),可添加多个 -v 参数:
bashdocker run --rm -v $(pwd):/work -v /path/to/deps:/deps dockcross/aarch64-linux-gnu make
编译完成后,可通过 aarch64-linux-gnu-readelf 工具验证生成的二进制文件架构:
bashaarch64-linux-gnu-readelf -h output binary # 需主机安装 aarch64-linux-gnu-binutils 包
输出中 Machine 字段应显示 AArch64。


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务