首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在SConstruct中运行复制命令不起作用

在SConstruct中运行复制命令不起作用
EN

Stack Overflow用户
提问于 2021-09-26 07:30:54
回答 1查看 31关注 0票数 0

当我想在Linux平台上复制文件时,使用这个SConstruct文件:

代码语言:javascript
复制
Command('/lib64/'+ tbbLibNames[i] , tbb_dylibs + '/' + tbbLibNames[i], Copy("$TARGET", "$SOURCE"))

它不会生效。但是当我将命令移到SConscript时,它就会生效。

请告诉我为什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-27 16:43:26

因为您的目标在/lib64/中,并且在运行scons时它不在(子目录)当前目录(很可能)下,所以在缺省情况下不会构建它。

如果未在scons命令行上指定目标,则缺省目标为.

因此,尝试执行以下操作:scons /lib64

这应该行得通。

此外,如果您希望在缺省情况下构建该目标(当您没有在命令行上显式指定目标时(如上例),您可以使用以下命令

代码语言:javascript
复制
targets = Command('/lib64/'+ tbbLibNames[i] , tbb_dylibs + '/' + tbbLibNames[i], Copy("$TARGET", "$SOURCE"))
Default(targets)

根据复制目标的位置,我猜您可能想要一个名为install的目标

如果是这样,您可以执行以下操作

代码语言:javascript
复制
targets = Command('/lib64/'+ tbbLibNames[i] , tbb_dylibs + '/' + tbbLibNames[i], Copy("$TARGET", "$SOURCE"))
Alias('install',targets)

然后,您将使scons通过scons install将文件复制到那里

另一种选择是只将上面的Copy()作为Post Action添加到构建这些tbbLibNames的任何地方。通过AddPostAction()

请参阅:https://scons.org/doc/production/HTML/scons-man.html#f-AddPostAction

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69332729

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档