scons喊道"没有图书馆这样的属性"!

yat*_*ade 3 build scons

我是scons的新手,一直试图建立一些文件,徒劳无功.我在Linux上,擅长Python.这是我的示例SConstruct文件:

vstPlugName = 'again'
vstSDKDir   = '/home/yati/Projects/Sound/vstsdk2.4'

env = Environment(CPPPATH=vstSDKDir, tools=['g++']) 
env['CCFLAGS'] = ['-Wall -O3']

src_dir = vstSDKDir + '/public.sdk/source/vst2.x'

env.Library(vstPlugName, [
                            vstPlugName + '.cpp', 
                            src_dir + '/audioeffect.cpp',
                            src_dir + '/audioeffectx.cpp',
                            src_dir + '/vstplugmain.cpp'
                            ])
Run Code Online (Sandbox Code Playgroud)

目的是从显示的cpp文件中构建一个".o" - 我尝试了env.Object(),但它引发了一个异常,说"为一个目标文件提供了多个来源......" - 这是可以理解的.但是当我运行scons上面的SConstruct脚本时,我得到了这个:

scons: Reading SConscript files ...
AttributeError: 'SConsEnvironment' object has no attribute 'Library':
File "/home/yati/Projects/Sound/development/again/source/SConstruct", line 10:
env.Library(vstPlugName, [
Run Code Online (Sandbox Code Playgroud)

请帮忙.Linux上有没有一个简短的,适合scons的介绍?我没有时间浏览整个联机帮助页或官方文档.

Tom*_*Tom 5

我不确定到底发生了什么,但我认为你可能用工具= ['g ++']来破坏东西.

我认为这可能有效:

env = Environment(CPPPATH=vstSDKDir, tools=['default', 'g++'])
Run Code Online (Sandbox Code Playgroud)