scons相关内容

如何在python脚本中设置环境变量

我正在使用 SCONS 构建工具. 我无法使用在 python 脚本中初始化的环境变量. 在我的项目中,用户可以更改一些变量以使用编译器. 为此,我们有 2 个文件. 配置文件 构造 Config.py 包含所有变量,例如 Include 目录、CFLAGS、CPPPDEFINES 等.因此,在这里我们可以设置一些变量.我需要在 Sconstruct 文件中使用的那些变 ..
发布时间:2021-07-16 21:23:16 Python

带有变体目录的分层构建中的 scons 依赖问题

我是 scons 的新手,并且在 scons 依赖方面有问题在带有变体目录的分层构建中. 我能够在包含以下内容的简化环境中重现该问题SConscript目录下的2个子目录(moduleA和moduleB)如下: .|-- SConstruct|-- 文件.conf|-- 模块A||-- 征兵|`--conf2cc`--模块B|-- 征兵`--fileB.cc 以下是需要完成的工作流程 ..
发布时间:2021-07-16 21:23:01 其他开发

SCons:修改中间构建器调用

是否可以更改对中间构建器的调用,例如通过传递目标前缀来避免环境冲突? 举个例子,假设您想使用不同的编译器宏为两个不同的库使用一个源文件,如下所示: env.Library('libraryA', 'source.c', CCFLAGS=['-DCONFIG_X'])env.Library('libraryB', 'source.c', CCFLAGS=['-DCONFIG_Y']) SC ..
发布时间:2021-07-16 21:22:55 Python

scons 支持 subversion checkout 吗?

从某些站点看来,Scons 支持 subversion checkout: 环境 = 环境()env.SourceCode('.', env.Subversion('XXX'))env.Program('hello.c') http://www.scons.org/doc/0.92/HTML/scons-user/x1625.html 但是从最新稳定版本(2.0.0)的手册页/用户指 ..
发布时间:2021-07-16 21:22:49 其他开发

从 external.py 文件读取 scons 构建变量

我想在 external.py 文件中定义 scons 构建变量,如 external.py mode=debug工具链=x86 我想读回 SConstruct 文件中的这些变量,该文件位于同一目录中.我要根据变量值做一些操作! vars = Variables('external.py')vars.Add('mode', '设置调试或发布模式', 'debug')如果 ${RELEA ..
发布时间:2021-07-16 21:22:46 其他开发

需要帮助调试慢 scons 运行时

我正在使用 scons 构建两个项目.一个效果很好,而另一个(更复杂的)项目非常令人沮丧.这是我在为第二个项目运行 scons 时看到的: S 时间 sconsscons:读取 SConscript 文件...>>scons:完成读取 SConscript 文件.scons:建立目标......>> ..
发布时间:2021-07-16 21:22:43 其他开发

Scons:创建后期目标

我们有两个工具:Tool1 和 Tool2.Tool1 基于 SourceFile 创建一些 TargetFile.Tool2 使用 Tool1 (TargetFile) 的输出作为源.结构类似于: env.Tool1(TargetFile, SourceFile)env.Tool2(NewTargetFile, TargetFile) 问题在于 Tool2 的发射器使用 TargetFil ..
发布时间:2021-07-16 21:22:41 Python

在构建器调用时将值附加到环境变量

问题如下:我有一个环境,其中定义了一些变量,如下所示: env = Environment(CPPPATH=['#/include']) 在某些情况下,我需要调用带有一些额外值的构建器,这些值不应永久添加到环境中,以免造成不必要的污染. 一种方法是通过将额外的值与环境的值合并来将额外的值附加到构建器调用中. env.Object('test.c', CPPPATH=['#/some_o ..
发布时间:2021-07-16 21:22:38 其他开发

如何使用 scons 在调试模式下获得可执行文件

我正在使用 scons 与 vc10 和 renesas 编译器进行编译. 是否有任何命令可以在调试模式下获取可执行文件? 如果我使用命令“scons and enter"执行我的项目,它将进入发布模式. 我无法使用 Visual Studio 调试器调试该 .exe 文件. 谁能告诉我如何在调试模式下获得调试可执行文件?scons 中有没有要设置的命令或标志? 解决 ..
发布时间:2021-07-16 21:22:35 其他开发

检查 exe 是 32 位还是 64 位

我正在编写一个 python 程序,它使用 scons 构建一个 .exe,然后检查它是 64 位还是 32 位.我尝试了 platform.architecture(test1.exe),但问题是当我提供 32 位 exe 时,它​​说它是 64 位. 我尝试使用 dumpbin 但输出很大,所以我使用了这个 dumpin/HEADERS test.exe |find "machine". ..
发布时间:2021-07-16 21:22:32 Python

无法运行 scons 出现导入错误

我已经安装了 scons 2.3.2 和 python 2.4. 当我运行 scons 时,我看到以下错误: scons导入失败.无法在以下位置找到 SCons 文件:/usr/bin/../engine/usr/bin/scons-local-2.3.2/usr/bin/scons-local/usr/lib/scons-2.3.2/usr/lib/scons-2.3.2/usr/loc ..
发布时间:2021-07-16 21:22:29 Python

我如何告诉 SCons 忽略命令操作的隐式依赖关系?

默认情况下,SCons 似乎查看用于构建程序的“配方"并从中提取隐式依赖项.例如假设我的 SConstruct 包含: Command('foo', 'foocreator.py', '/usr/bin/python foocreator.py > foo') 而且我已经构建了 'foo'('foo' 是最新的).现在我更改了 SConstruct(或者更现实地说,传递不同的选项),以便 'f ..
发布时间:2021-07-16 21:22:23 其他开发

SCons 问题 - 不了解变量类

我正在处理一个项目的 SConstruct 构建文件,我正在尝试从选项更新到变量,因为选项已被弃用.我不明白如何使用变量.我有 0 次 Python 经验,这可能是导致此问题的原因. 例如,我有这个: opts = Variables()opts.Add('fcgi',0)打印选项['fcgi'] 但我收到一个错误: AttributeError: 变量实例没有属性“__getitem ..
发布时间:2021-07-16 21:22:19 Python

SCons:调用 Makefile 项目的构建

SCons 提供了 env.Command,理论上应该能够在 Makefile 项目上调用 ./configure 和 ma​​ke.但是,我的理解是首先必须将 Makefile 项目文件夹复制到 SCons 的构建目录中,因为构建过程不应更改源树中的任何内容.这怎么办? 我想我正在寻找的是这样的: env.Command('lib/moo/Makefile', '', [Copy('BU ..
发布时间:2021-07-16 21:22:16 其他开发

SCons - 非标准位置的标题/库

我正在尝试使用 SCons 来编译需要一组依赖项的程序,这些依赖项已安装在非标准位置. 我已经在/home/dja/ocr 中安装了依赖项.现在我正在尝试编译主程序,但不知道如何告诉 SCons 在哪里查找库和头文件. 我尝试过(其中包括): scons 前缀=/home/dja/ocrscons includepath=/home/dja/ocr/include libpath=/ ..
发布时间:2021-07-16 21:22:12 其他开发

如何测量 scons 构建的每个组件的构建时间?

我有一个使用 scons 构建的大型 C++ 项目.它的构建速度很慢,我想进行一些更改以使其构建速度更快.现在我想集中时间加快构建中最慢的部分. 如何确定哪些文件的编译时间最长? 解决方案 我通过在 CXXCOM 变量的开头添加一些额外的东西来解决这个问题.scons 使用这个变量来做实际的编译: if os.getenv('BUILD_STYLE')=='timing':cxxc ..
发布时间:2021-07-16 21:22:09 其他开发

SCons 无法选择编译器 (MinGW)

我有一个包含以下代码的简单 SConstruct 文件 path = ['C:\\MinGW\\bin']env = Environment(ENV = {'PATH': path})程序(目标 = '我的程序',源 = ['main.cpp']) 在 cmd 上运行 'scons' 会给出以下错误信息: cl/Fomain.obj/c main.cpp/TP/nologo'cl' 不被识别 ..
发布时间:2021-07-16 21:22:02 C/C++开发

使用 SCons 创建分层构建

我有一个库项目,在子文件夹中包含一些示例. 库本身有一个 SConstruct 文件,每个示例都有自己的文件夹和自己的 SConstruct 文件. 我想向主(根)SConstruct 文件添加一个目标,这将允许我像往常一样编译库和所有示例. 是否有针对此的现有机制/构建器? P.S:我不想只有一个大的 SConstruct 文件,因为我希望示例文件夹保持独立. 解决 ..
发布时间:2021-07-16 21:22:01 Python