scons env.InstallAs() 似乎没有复制任何文件?
scons env.InstallAs() doesn't seem to copy any file?
例如,我有一个.c文件如下:
$猫hello.c
int main(){
return 0;
}
然后我用scons搭建复制到某个地方:
$cat SConstruct
import os,sys
env = Environment()
hello = env.Program('hello.c')
env.InstallAs('/home/admin/hello-new', hello)
运行 scons 在名为 'admin' 的用户下打印:
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
gcc -o hello.o -c hello.c
gcc -o hello hello.o
scons: done building targets.
然后我尝试 "ls /home/admin" 没有像 "hello-new" 这样的东西。所以我想知道为什么我的 "env.InstallAs()" 有效?如何排查和修复?
谢谢。
请阅读常见问题解答,这是对 SCons 的常见误解,因此在常见问题解答中:
将您的示例更改为此应该会导致它始终构建有问题的目标:
import os,sys
env = Environment()
hello = env.Program('hello.c')
install_target = env.InstallAs('/home/admin/hello-new', hello)
# Always build the install target by default
Default(install_target)
例如,我有一个.c文件如下:
$猫hello.c
int main(){
return 0;
}
然后我用scons搭建复制到某个地方:
$cat SConstruct
import os,sys
env = Environment()
hello = env.Program('hello.c')
env.InstallAs('/home/admin/hello-new', hello)
运行 scons 在名为 'admin' 的用户下打印:
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
gcc -o hello.o -c hello.c
gcc -o hello hello.o
scons: done building targets.
然后我尝试 "ls /home/admin" 没有像 "hello-new" 这样的东西。所以我想知道为什么我的 "env.InstallAs()" 有效?如何排查和修复?
谢谢。
请阅读常见问题解答,这是对 SCons 的常见误解,因此在常见问题解答中:
将您的示例更改为此应该会导致它始终构建有问题的目标:
import os,sys
env = Environment()
hello = env.Program('hello.c')
install_target = env.InstallAs('/home/admin/hello-new', hello)
# Always build the install target by default
Default(install_target)