gcc - 当我使用 crosstool-4.3 构建自己的 crosstool 时出现问题
问题描述
在CentOS 7.5 64位系统上编译交叉编译工具crosstool-0.43(for arm9)时遇到如下错误:</p>
cc -c -o flat_bl.o /home/muhuo/arm-linux-project/transplant-test/build-tools/crosstool-0.43/build/arm-9tdmi-linux/gcc-4.1.0-glibc-2.3.2 /binutils-2.16.1/gprof/flat_bl.m /home/muhuo/arm-linux-project/transplant-test/build-tools/crosstool-0.43/build/arm-9tdmi-linux/gcc-4.1.0-glibc -2.3.2/binutils-2.16.1/gprof/flat_bl.m:2:2: 错误:预期标识符或 ??在 ??token 之前
% 占总运行时间的百分比
^
我不知道 *. binutils-2.16.1 中的 m 文件是。我之前是否需要安装一些其他工具?从上图看,用 GCC 编译 *.m 文件应该是错误的。我需要一些帮助。谢谢。
解决方案
问题是有一个内置的“.mo”后缀规则触发的优先级高于“.co”后缀规则。曾尝试在PR2587下禁用此规则,但由于它是旧式后缀规则,因此不起作用。
有两种可能的解决方案,一种是通过将行添加.MAKEFLAGS: -r
到binutils/gprof/Makefile.in
某处来删除所有内置规则,或者更正确地更改.SUFFIXES:
同一文件中的行,以便 '.m' 在 '.c' 之后,从而更改规则优先级.
推荐阅读
- nginx - Kubernetes 多容器 pod:如何获取 pod 之间的网络流量... 502 错误?
- r - R:我如何以 1/10 的机会重复模拟多少次尝试才能成功?(并记录尝试了多少次?)
- flutter - Socket Io 错过连接事件
- swiftui - 如何在 SwiftUI 中的视图之间移动?
- amazon-web-services - 每个区域的 Cognito 池与每个租户的 Cognito 池
- python-3.x - RGB 转 HSV 与 BGR 转 HSV 一样吗?
- javascript - 在 Javascript 上比较并获取对象的一些值数组
- reactjs - 如何将列表“键”值作为嵌套组件中的道具传递?
- python - 使用curve_fit拟合列表中2个变量的数据
- vue.js - 创建一个简单的 VUE.JS 应用程序