1

我有一个用于 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,我会收到链接错误。我的解决方案有效,但看起来不太便携……什么是更好、更便携的解决方案?

4

3 回答 3

3

使用 SCons 声明“DefaultEnvironment(ENV=os.environ)”。

于 2009-11-05T14:45:31.977 回答
0

与其从标准命令行调用 scons,不如使用 Visual Studio 命令提示符,这将正确设置所有环境变量

于 2009-10-28T07:39:21.663 回答
0

我更喜欢使用以下语法,因为它提醒我我最终使用的是 Python,并且更喜欢使用原生 Python 列表命令而不是它们的伪 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"])
于 2009-11-07T19:56:25.703 回答