linux make dtbs返回“no rule to make target 'dtbs'”

1bqhqjot  于 2023-08-03  发布在  Linux
关注(0)|答案(1)|浏览(590)

我试图将dtsi文件编译成dtb,我卡住了。我试过了
第一个月
但它给了我一个语法错误
#include <dt-bindings/input/input.h>
我试着把这行改成
\include\ "dt-bindings/input/input.h"
但它给了我一个文件未找到错误“input.h”.
根据这一答复:https://stackoverflow.com/a/42839737/6431843
使用make而不是dtc可以解决这样的问题。不幸的是,似乎无论我在make后面放什么,它总是告诉我there is no rule to make that target。根据我看到的许多其他帖子,我应该,至少,能够做make dtbs,它应该工作,但它没有。

gxwragnw

gxwragnw1#

要解决此问题,您有两个选择:
1.要快速修复,只需运行make ARCH=<arch> CROSS_COMPILE=<cross_compiler_of_your_choice>- dtbs即可。
举例来说:make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- dtbs
1.可以使用export ARCH=<arch> && export CROSS_COMPILE=arm-linux-gnueabi-ARCHCROSS_COMPILE定义为环境变量
这两种方法都有缺点,所以选择你的毒药:
1.当你运行任何make命令时,很容易忘记传递这些变量,导致你的构建和配置被搞砸,不能正常运行,正如你所注意到的那样。
1.这只在当前shell或终端中起作用,这意味着你应该在每次打开新shell时运行这些命令。一种解决方法是编辑shell配置。
编辑:确保在运行make时检查是否需要设置其他变量,但设置上述两个变量就足够了。

相关问题