我遇到过使用scons的构建系统.不熟悉scons本身就是一个相当复杂的框架,我很沮丧,无法调试构建问题.
我希望scons打印出正在调用的完全扩展的命令行(正如你在大多数构建系统中看到的那样)我发现你可以使用--debug = presub选项但是(至少在OSX上)它是无用的,因为它打印的值是未扩展的变量
例如:
Building build/obj/ios-uni-rel-sta-clang/common/libs/boost/libs/date_time/src/gregorian/date_generators.i386.o with action:
$SHCXX -o $TARGET -c $SHCXXFLAGS $SHCCFLAGS $_CCCOMCOM $SOURCES
Run Code Online (Sandbox Code Playgroud)
你可以在scons命令行上提供一个VERBOSE = 1参数但是(至少在2.3.4版本中)我得到的版本,它似乎并不详细.
我并不是说Scons很糟糕,但维持它会变得有点夸张和膨胀:(
有人熟悉Scons吗?什么模块,实际命令在哪里被调用?我只想添加几张照片......
或者,如何设置PyDev或PyCharm以使用scons -debug = pdb进行连接?这有人吗?
在 SConstruct、SConscript 或由其中一个加载的某些 python 模块(可能位于顶部目录下的 site_scons 中)中的某个地方,有人正在更改 *COMSTR 环境变量。
它看起来像:
env['SHCXXCOMSTR'] = "Building $TARGET"
Run Code Online (Sandbox Code Playgroud)
或者:
for k in env.keys():
if k.endswith('COMSTR'):
env[k] = "Building $TARGET"
Run Code Online (Sandbox Code Playgroud)
您需要注释掉这些行。
默认的 SCons 行为是显示命令行。
http://scons.org/doc/production/HTML/scons-man.html#cv-SHCXXCOMSTR