2016-12-26 30 views
0

我有一個目錄:如何導出變量正確SConstript

src 
    sconscript 
    main 
     sconstruct 
     main.cpp 

在sconscript,我寫

env=Environment(CXX='g++',LINK='g++') 

在sconstruct,我寫

SConscript('../sconscript',exports='env') 
Import('env') 
env.Program(target='a.out',source='main.cpp') 

然後我到目錄src/main並鍵入scons -Q,它只是抱怨:

Export of non-existent variable ''env'' 

http://scons.org/doc/HTML/scons-user.html#idm139837640372096,我認爲語法是正確的。那麼問題是什麼?

我使用Ubuntu 16.04,Python的2.7.12和2.5.0 scons的

回答

0

你SConscript應該讀

env=Environment(CXX='g++',LINK='g++') 
Return('env') 

你SConstruct應該讀

env = SConscript('../sconscript') 
env.Program(target='a.out',source='main.cpp') 

看看手冊頁: http://scons.org/doc/production/HTML/scons-man.html

+0

謝謝。有用。但是我原來的scons代碼完全遵循scons用戶指南,你知道爲什麼它不起作用嗎? – ken

+0

@ken我在看你鏈接到的部分,它確實沒有按照用戶指南。 「一旦變量從一個調用的SConscript文件中導出,它就可以通過調用Import函數在其他SConscript文件中使用:」 – bdbaddog