Scons "Dir" 命令不起作用?

Scons "Dir" command doesn't work?

我有一个名为 "myc" 的子目录,其中包含 2 个“.c”文件:

$ ls myc
1.c  f.c

我当前的目录有一个 SConstruct:

$ cat SConstruct 
myc=Dir('myc')
print myc
Program('test2',myc)

运行 scons,它打印出一堆错误:

$ scons
scons: Reading SConscript files ...
myc
scons: done reading SConscript files.
scons: Building targets ...
gcc -o test2 myc
/usr/bin/ld: cannot find myc: File format not recognized
collect2: error: ld returned 1 exit status
scons: *** [test2] Error 1
scons: building terminated because of errors.

奇怪的是:我预计 "print myc" 会列出“1.c”和 "f.c",令我失望的是它打印的是 "myc",而不是变量值,并且编译也失败了。

如何更正?

不确定为什么您认为将目录指定为目录的源会起作用?

文档中是否有某些内容让您相信这应该有效?

如有请指出,以便改进

如果你这样做了:

gcc -o blah some_dir_name

这样不行吗?

这应该可以满足您的要求。

myc=Glob('myc/*.c')
print myc
Program('test2',myc)