海思AI芯片(35xx):linux下make交叉编译报错

linux下make编译报错如下图所示:
海思AI芯片(35xx):linux下make交叉编译报错_第1张图片
海思AI芯片(35xx):linux下make交叉编译报错_第2张图片
问题1:/bin/sh: 1: syntax error: “(” unexpecd
(或者/bin/sh: [[: not found 这种莫名奇妙的错误)
原因分析:是linux将sh指向了dash而不是bash
海思AI芯片(35xx):linux下make交叉编译报错_第3张图片
解决方法:
在终端输入:
ls -l /bin/sh # 提示如上图所示
sudo dpkg -dpkg-reconfigure dash # 弹出如下图所示,选择NO
海思AI芯片(35xx):linux下make交叉编译报错_第4张图片
ls -l /bin/sh # 提示如下图所示
在这里插入图片描述
如果第一次输入就是这样的提示,或者做了这两步之后,同样的错误还是照样出现。就检查下makeflie文件。
在Makefile中查问题是不是make语句中的$(shell pwd)部分。
比如有人说,发现代码目录的目录名中包含了括号!把目录改名,去掉名字中的括号,恢复正常。

问题2:“recipe for target xxx”错误
海思AI芯片(35xx):linux下make交叉编译报错_第5张图片
检查一下makefile文件
本人发现如下图所示,也就是说sample文件下所有的.c文件都读取编译。但是因为我将sample_nnie.c又复制了一份,变成了sample_nnie (copy).c,这个文件是没有头文件的,也就是sample_nnie (copy).h,找不到路径的,并且这也是不需要的文件,我只是为了报存原始的文件,如果将这个副本删除就可以make编译通过了。
海思AI芯片(35xx):linux下make交叉编译报错_第6张图片
海思AI芯片(35xx):linux下make交叉编译报错_第7张图片

你可能感兴趣的:(嵌入式AI,深度学习,ObjectDetection)