2009-10-26 68 views
1

我有一個scons的文件SConstruct:使用SCons在Windows上:KERNEL32.LIB

env = Environment() 
env.Append(CPPPATH = ['./']) 
env.Append(LIBS = 'kernel32.lib') 
env.Append(LIBPATH = 'C:/Program Files/Microsoft SDKs/Windows/v6.0A/Lib') 

env.SharedLibrary(target='warpLib', source='warplib.cpp') 

如果我不inlcude 'KERNEL32.LIB' 和specifiy的LIBPATH我得到一個鏈接錯誤。我的解決方案有效,但看起來不太便攜......什麼是更好,更便攜的解決方案?

回答

3

使用SCons的聲明「DefaultEnvironment(ENV = os.environ)」。

+0

這將複製所有您現有的環境,這是不推薦和不便攜的。 – 2016-06-29 01:44:25

0

而不是從一個標準的命令行調用scons的,使用Visual Studio命令提示符下,將設置所有環境變量正確

0

我更喜歡使用下面的語法,因爲它提醒我我最終使用Python,並且更喜歡使用本地Python列表命令而不是它們的pseduo SCons等效項。另外,它幫助我記住CPPATH,LIBS,LIBPATH等都是列表。

env = Environment() 
env["CPPPATH"].extend(["."]) 
env["LIBS"].extend(["kernel32","someotherlib"]) #No need to specify the ".lib". This gives you platform-independance automatically. 
env["LIBPATH"].extend(["C:/Program Files/Microsoft SDKs/Windows/v6.0A/Lib"]) 
相關問題