1

我正在使用 scons 脚本通过使用 VC10 和 Renesas 编译器来编译我的代码。

我正在使用 VC10 在变体目录中成功构建我的源代码,但是如果我为瑞萨编译器使用相同的脚本,它不会在变体目录中构建 obj 文件。谁能告诉我该怎么做。

我正在使用瑞萨电子 rx600 系列控制器。

我的示例树看起来像

src1
    -main.c
   sconscript
   sconstruct
   subdirA
      fileA.c
      sconscript
   subdirB
      fileB.c
      sconscript

src1/sconstruct 包含

import os

env = Environment()
tmp_obj_list = []

env = Environment(ENV = {'PATH' : os.environ['PATH']})

env['LINKFLAGS'] = "/nologo /subsystem:console /pdb:project.pdb"
env['CCFLAGS'] = "/nologo /wd4355 /GR- /EHs-c- /MT /c /W3 /WX /Zi /FD"
env['ENV']['TMP'] = os.environ['TMP']
env['ENV']['TEMP'] = os.environ['TEMP']

Export('env')

env.SConscript('d://src1//subdirA//SConscript',
               variant_dir = 'd://build1//subdirA', 
               duplicate = 0, exports = 'env')
tmp_obj_list.append(Glob('d://build1//subdirA' + '/*.lib'))
env.SConscript('d://src1//subdirB//SConscript',
               variant_dir = 'd://build1//subdirB',
               duplicate = 0, exports = 'env')
tmp_obj_list.append(Glob('d://build1//subdirB' + '/*.lib'))

env.SConscript('d://src1//SConscript')
env.Append(LIBS = tmp_obj_list)

src1/sconscript 包含

Import('env')

env.Program('program',Glob('*.c'))
env.Clean('program','d://build1')

src1/subdirA & src1/subdirB sconscript 包含

Import('env')
l = env.Library(target='subdirB', source='fileB.c')

Return('l')
4

0 回答 0