8得票2回答
如何设置scons以输出完整的扩展命令行?

我遇到了一个使用scons的构建系统。由于我不熟悉scons自身是一个相当复杂的框架,所以在无法调试构建问题时感到非常沮丧。 我想让scons打印出被调用的完全扩展的命令行(就像大多数构建系统一样)我发现你可以使用--debug=presub选项,但(至少在OSX上)它是无用的,因为它打印未...

8得票1回答
SCons:获取原始文件的绝对路径(就像我没有设置variant_dir一样)

我可以使用 File('foo.bar').abspath 来获取文件的位置,但如果设置了 variant_dir,则返回的路径将在 variant_dir 而不是它的原始位置。如果设置了 duplicate=0,则返回的文件实际上并不存在。 显然 SCons 知道原始文件的位置,因为它在构...

8得票3回答
从Python脚本调用scons

我刚接触Scons和Python。我想知道是否有一种方法可以在Python脚本中调用Scons。 我的Python脚本从用户那里接受一个目录列表,其中包含要编译的代码(以及其他一些非平凡的任务)。它还生成一个字符串,该字符串将用作Scons创建的可执行文件的名称。 我想从我的Python脚...

7得票5回答
使用类似规则构建多个可执行文件

我正在编写一份交互式C++教程,其中包含两个部分:第一部分编译成库(我使用Scons来构建),第二部分(即课程)与教程一起发送给最终用户进行编译。目前我正在寻找一个好的、简单的方法让人们创建这些课程。 基本上,第二部分是一个包含所有课程的目录,每个目录都有至少一个lesson.cpp和一个m...

7得票1回答
如何告诉scons使用C++11标准

我无法找到如何告诉scons接受c ++ 11标准的方法: SConstruct文件: env=Environment(CPPPATH='/usr/include/boost/', CPPDEFINES=[], LIBS=[]...

7得票1回答
SCons导入错误 - 没有名为SCons.Script的模块。

我一直在尝试让SCons正常工作,但是一直没有成功。首先:我正在运行Windows 7 x64。 我首先安装了Python 2.7.11在C:\Software\Python27,并将该目录和C:\Software\Python\Scripts添加到系统路径中(对于所有用户都是如此)。然后我...

7得票2回答
scons:覆盖一个文件的构建选项

这是一个简单的问题,但我不知道答案。 假设我有一个使用 scons 构建的项目,在我的 CCFLAGS 中包含 -O1。我有一个名为 needsOptimization.cpp 的文件,我想要用 -O2 覆盖 -O1。在 scons 中如何做到这一点呢? 更新:基于 bialix 的答...

7得票1回答
如何使用Visual Studio命令行和SCons构建Windows XP应用程序?

使用Visual Studio 2015 IDE构建Windows XP应用程序并不难,您只需要使用正确的平台工具集(v120_xp或v140_xp),并确保在目标计算机上安装了适当的可重定向Visual Studio运行时DLL即可。简单易行。 现在,我一直在尝试弄清楚如何构建针对Wind...

7得票1回答
如何在使用SCons构建的程序中内置gprof支持?

您好, 这是我的SConstruct文件: env = Environment() env.Append(CCFLAGS=['-g','-pg']) env.Program(target='program1', source= ['program1.c']) 这是编译的输出结果: s...

7得票3回答
SCons:防止在构建变量中进行$TEXT扩展

当我调用一个builder Program(Target, Source, CXXFLAGS=CompileFlags)时,CompileFlags字符串的值包含-Wl,-rpath,lib:$ORIGIN/../lib,导致$ORIGIN被展开为空字符串,而应该保留它本来的样子。 我试过对...