"a.h" file "a-6ren">
gpt4 book ai didi

ruby - Rake 的规则不检查时间戳

转载 作者:太空宇宙 更新时间:2023-11-03 16:50:49 25 4
gpt4 key购买 nike

下面的 Rakefile 是一个简单的程序,它需要 a.ca.h

# Rakefile
task :default => "a.out"

file "a.o" => "a.h"

file "a.out" => "a.o" do |t|
sh "gcc -o #{t.name} #{t.prerequisite_tasks.collect(&:name).join(' ')}"
end

rule ".o" => ".c" do |t|
sh "gcc -c -o #{t.name} #{t.source}"
end

当没有 a.oa.out 时有效,但当 a.c 更新时无效。

$ rake
gcc -c -o a.o a.c
gcc -o a.out a.o
$ touch a.c
$ rake

这是有意为之的行为吗?还是我遗漏了什么?

最佳答案

代替:

sh "gcc -o #{t.name} #{t.prerequisite_tasks.collect(&:name).join(' ')}"

试试这个:

`gcc -o #{t.name} #{t.prerequisite_tasks.collect(&:name).join(' ')}`

我倾向于对系统命令使用反引号(与 ~ 相同的键,在 Esc 键下方),也许这会纠正该行为。

关于ruby - Rake 的规则不检查时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22428256/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com