SCons:清理失败后重建
SCons: rebuild after clean failed
我正在尝试示例:https://bitbucket.org/Anteru/build-systems/src/default/scons/
我修改了 SConstruct
文件以设置构建目录:
SConscript(
'statlib/SConscript',
variant_dir='build/statlib',
duplicate=0
)
SConscript(
'dynlib/SConscript',
variant_dir='build/dynlib',
duplicate=0
)
SConscript(
'executable/SConscript',
variant_dir='build/executable',
duplicate=0
)
第一次构建成功。
然而,在scons --clean
之后构建并使用scons --no-cache
构建失败,导致SCons使用了错误的文件路径tablegen.py
。
修改示例:scons.zip
如果您将示例文件 statlib/SConscript 更改为:
import os
# This is needed so we get the python from PATH
env = Environment(ENV = os.environ)
env.Append (CPPPATH='#')
pyexec = 'python' if os.name == 'nt' else 'python3'
env.Command ('table.cpp', 'tablegen.py', '{} $SOURCE > $TARGET'.format (pyexec))
env.StaticLibrary('statlib', [
# This adds fPIC in a portable way
SharedObject ('StaticLibrarySource.cpp'),
SharedObject ('table.cpp')])
应该可以。
注意:我已针对您指定的回购提出问题。
https://bitbucket.org/Anteru/build-systems/issues/2/youre-statlib-sconscript-has-issue-which
我正在尝试示例:https://bitbucket.org/Anteru/build-systems/src/default/scons/
我修改了 SConstruct
文件以设置构建目录:
SConscript(
'statlib/SConscript',
variant_dir='build/statlib',
duplicate=0
)
SConscript(
'dynlib/SConscript',
variant_dir='build/dynlib',
duplicate=0
)
SConscript(
'executable/SConscript',
variant_dir='build/executable',
duplicate=0
)
第一次构建成功。
然而,在scons --clean
之后构建并使用scons --no-cache
构建失败,导致SCons使用了错误的文件路径tablegen.py
。
修改示例:scons.zip
如果您将示例文件 statlib/SConscript 更改为:
import os
# This is needed so we get the python from PATH
env = Environment(ENV = os.environ)
env.Append (CPPPATH='#')
pyexec = 'python' if os.name == 'nt' else 'python3'
env.Command ('table.cpp', 'tablegen.py', '{} $SOURCE > $TARGET'.format (pyexec))
env.StaticLibrary('statlib', [
# This adds fPIC in a portable way
SharedObject ('StaticLibrarySource.cpp'),
SharedObject ('table.cpp')])
应该可以。
注意:我已针对您指定的回购提出问题。 https://bitbucket.org/Anteru/build-systems/issues/2/youre-statlib-sconscript-has-issue-which