专栏底层软件「交叉编译链求助」gcc交叉编译异常

「交叉编译链求助」gcc交叉编译异常

今天晚上吃什么2023-09-20
125
2
交叉编译工具链版本:gcc-ubuntu-9.3.0-2020.03-x86_64-aarch64-linux-gnu 取自地平线。

目标平台:地平线J5

编译动态库:libnfnetlink-1.0.2

工具链挂载参数:

动态库编译配置参数:

Configure流程顺利通过,但是在make -j时遇到以下问题,给rel传的参数我也有截图,见附件:

然后调查过程中我发现aarch64-linux-gnu-gcc是个shell脚本:

$*本身是给前面的aarch64-linux-gnu-gcc-rel -mfix-cortex-a53-835769 传入参数

$* 以一个单字符串向脚本传递参数,问题出现在这里,貌似是传的参数解析有误

我直接把CC设置成aarch64-linux-gnu-gcc-rel -mfix-cortex-a53-835769试了一下,编译通过。配置参数如下:

下面我有几个问题想咨询一下:

1. 是否有其他人同样遇到过这个问题?

2. 我们使用$*传参是否会造成一些场景下传入的编译参数被错误的解析?

3. 我们的aarch-linux-gnu-gcc是由于什么原因采用shell脚本映射aarch64-linux-gnu-gcc-rel -mfix-cortex-a53-835769,而不是像linaro等交叉编译平台使用处理好的二进制可执行程序?

4. 如果问题2的回答是肯定的,我们是否需要更新交叉编译工具链?或者有没有推荐的,可以平替的交叉工具链?

自行回答内容:

1. 暂时应该没有

2. 如果$*传入参数错误,需要更换成

3. 等待回复

4. 暂时不会更换,按2的回答修改aarch64-linux-gnu-gcc shell脚本调整。所以同样是Ubuntu 18.04 LTS,有时候机魂不悦还得调调。

底层软件
评论1
0/1000