如何解决尝试为 Ubuntu 18.04 和 ARM Cortex-A9 交叉编译 C++ 代码时出现“条件分支超出范围”
我最近问了一个类似的问题,但后来收集了新信息 - 我希望现在有人可以提供帮助。
我正在尝试为我的 Ubuntu 18.04 交叉编译来自 GitHub 项目的代码。分布和赛灵思 Zedboard 上的 ARM Cortex-A9 处理器。不幸的是,在编译项目时,我遇到了以下错误:
/tmp/ccJ10dX1.s: Assembler messages:
/tmp/ccJ10dX1.s:192265: Error: conditional branch out of range
/tmp/ccJ10dX1.s:192270: Error: conditional branch out of range
Makefile:32: recipe for target 'library' failed
make: *** [library] Error 1
我正在使用 arm-linux-gnueabihf-g++-6
交叉编译器,但也尝试了其他版本以获得相同的结果;运行 arm-linux-gnueabihf-g++-6 --version
给
arm-linux-gnueabihf-g++-6 (Ubuntu/Linaro 6.5.0-2ubuntu1~18.04) 6.5.0 20181026
使用 g++
(仅适用于 Ubuntu)编译项目按预期工作。
我一直在尝试创建一个最小的工作示例,并且在此过程中发现导致错误的文件是一个大头文件(大 1.1 MB)。这个头文件包含几个数组定义,例如
const ap_uint<8> a [128][126] = {{ ... }};
我认为这是问题所在。
有什么办法可以绕过这个编译器错误吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。