[这里是第一篇文章,不是以英语为母语的人,很高兴发表文章并帮助他人!
我在使用make来为我编译avr-gcc项目时遇到问题。更具体地说,是将不同目录的* .c源文件列表(在我的情况下为子目录)分配给make中的变量,该变量将用于生成依赖项。
使用我发现的This方法,Renaud Pacalet使用以下语法:
SRC = $(shell find src/ -name "*.cpp")
在我的情况下,使用find命令如下:
SOURCE_FILES = $(shell find -name '*.c')
结果是(在cmd上:)>
C:\AVR_projetos\Balizar_reserva>find -name '*.c' ./main.c ./modules/i2c/i2c.c ./modules/rom/rom.c
但是,当make调用shell来执行脚本时,该变量仅保存序列中的第一个文件名。
到目前为止,我尝试过:
此外,我已经参考了这两个手册页:
他们俩都以简单的方式解释了这是可能的,我做同样的事情却一无所获。
avr-gcc -MM main.c > depend.d 0 [main] sh 14484 sync_with_child: child 15780(0x1DC) died before initialization with status code 0xC0000142 158 [main] sh 14484 sync_with_child: *** child state waiting for longjmp /usr/bin/sh: fork: Resource temporarily unavailable make: *** [depend] Error 128
我发现This fix可以正常工作。
Os:Windows 10 Professional 1903 comp。 18362.535
GNU-make:3.81
[这里是第一篇文章,不是以英语为母语的人,很高兴张贴并帮助他人!我在使用make为我编译avr-gcc项目时遇到问题。更具体地说,是分配* .c源的列表...
欢迎您,正如您提到的,您指的是通配符功能,但说明中说:
感谢大家的建议,我真的很感谢。使用以下命令使该死的东西正常工作: