我有scons的SConstruct文件:
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')
如果我不包含'kernel32.lib'并指定LIBPATH,我会收到链接错误。我的解决方案有效,但看起来不太便宜......什么是更好,更便携的解决方案?
答案 0 :(得分:3)
使用SCons声明'DefaultEnvironment(ENV = os.environ)'。
答案 1 :(得分:0)
使用visual studio命令提示符,而不是从标准命令行调用scons,这将正确设置所有环境变量
答案 2 :(得分: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"])